用 docker 配置 tensorflow 环境(Tensorflow + Python3 + Jupyter Notebook + tflearn),在 dash00/tensorflow-python3-jupyter 基础上,添加 tflearn package,创建新的 docker image shuang0420/tensorflow-tflearn-python3-jupyter
Use Other’s Image
我们在 dash00/tensorflow-python3-jupyter 基础上创建自己的新镜像。
Download Image
首先获取镜像
|
|
原镜像 dash00/tensorflow-python3-jupyter
包含了
|
|
Start Container
Use basic container
如果用下面的启动方式,当结束 container 的时候,jupyter notebook 里的内容也会随之消失。
|
|
Use persistent folder
这种启动方式将 notebook 内容存到了本地,本质上是一个 mapping。/$(pwd)/notebooks
就是本机 notebook 目录。
|
|
Use Jupyter Notebook and Tensorboard in the same time
同时运行 jupyter notebook 和 tensorboard
|
|
打开浏览器输入 http://<CONTAINER_IP>:8888/
打开 jupyter notebook,输入 http://<CONTAINER_IP>:6006/
打开 tensorboard
Modify and Create New Image
Modify Old Image
进入 docker image,注意跟在 root@ 后面的 97748739b45d
就是新的 docker image id。
|
|
先看一下是什么系统
dash00/tensorflow-python3-jupyter 提到装了 python2 和 python3,tf 是装在 python3 下,所以 tflearn 也要装在 python3 下。发现默认 python 进入的是 python2
pip install 要在 python3 下,为了使用稳定版本的 tflearn,需要用到 git,尝试下以下命令
发现没有装 git,就先装一下喽
再次 pip 下
|
|
成功
Commit, test, and upload
然后退出当前容器,通过命令 docker commit
来提交容器副本
|
|
各个参数说明:
- -m:提交的描述信息
- -a:指定镜像作者
- e218edb10161:容器ID
- runoob/ubuntu:v2:指定要创建的目标镜像名
使用 docker images
命令来查看我们的新镜像 shuang0420/tensorflow-tflearn-python3-jupyter
|
|
现在的镜像包含了
|
|
然后使用新镜像 shuang0420/tensorflow-tflearn-python3-jupyter
来启动一个容器
|
|
如果出现下面的错误,说明之前已经启动了一个名为 notebooks 的 container,我们可以直接启动该容器,或者退出并删除原容器,新建一个。通过 docker ps -a
命令查看 container id 并删除该 container,再重新运行命令
|
|
浏览器输入 localhost:8888
打开 jupyter notebook
浏览器输入 localhost:6006
打开 jupyter notebook
当然也可以通过 kitematic
来直接控制 container 啦~~
用 push
命令将 image 上传到 docker hub
已上传至 docker hub,见 shuang0420/tensorflow-tflearn-python3-jupyter
Usage
Run jupyter and tensorboard
shuang0420/tensorflow-tflearn-python3-jupyter 的使用方法,基本用法和 dash00/tensorflow-python3-jupyter 相同。
|
|
/$(pwd):
和 /$(pwd)/tensorflow/logs
是本机目录,它把 container 中的 Jupyter notebooks 以及 logs 匹配到了本机目录,使得 container 和本机可以共享资源。当然首先要保证你的 docker 和 local host 有共享这些目录的权限,在 Docker Preferences 里可以设置。
Monitor
用 docker stats
来查看 container 的资源使用状况。
或者进入 docker 用 top
查看。
Memory and CPU
Mac OS 默认给 docker 分配 4 个 CPU 和 2 GB 的内存,因此不管怎么用 docker update
和 docker run
命令来调整 container 的 CPU 和 memory,始终不能超过 docker 的限制,想要用更多的 cpu 和 memory 资源,只用在 Docker Preferences -> Advanced 中调整即可。