我是Docker的新手.
我在Windows 10操作系统中使用tensorflow docker遇到困难.
在我跟随Udacity的深度学习课程时,我在instruction之后下载了tensorflow docker,并尝试启动第一个任务.
但由于docker映像缺少scikit-learn软件包,因此无法启动.
因此,基本上,为了克服这个问题,我要做的就是首先运行docker映像:
docker run -it -p 8888:8888 b.gcr.io/tensorflow/tensorflow /bin/bash
然后我运行:
pip install -U scikit-learn
然后我运行(可能不是100%正确,而是类似):
./run_jupyter.sh
启动iPython笔记本以执行我的任务.
我的问题很简单:
如何保存在此docker映像上发生的更改,因此不必在每次必须重新启动笔记本时都重复此步骤?
最佳答案
容器处于正确状态(安装了scikit-learn后,将执行脚本)后,将其停止(docker stop)并将其提交为新映像.
请参阅docker commit
,以将容器的文件更改或设置提交到新图像中.
然后,您可以运行该新映像(使用与以前相同的参数),只是从该新映像创建的容器将具有前面的步骤.
但是另一种方法是从tenserflow udacity Dockerfile建立图像.
FROM gcr.io/tensorflow/tensorflow:latest
MAINTAINER Vincent Vanhoucke <vanhoucke@google.com>
RUN pip install scikit-learn
RUN rm -rf /notebooks/*
ADD *.ipynb /notebooks/
WORKDIR /notebooks
CMD ["/run_jupyter.sh"]
该图像默认情况下将执行正确的命令.