Docker - 如何向现有 docker 图像添加新的 python 依赖项?
Docker - how to add new python dependencies to the existing docker image?
我是docker的新手。
我在 Windows 10 OS.
中使用 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 图片上所做的更改,这样我就不必在每次重新启动笔记本时都重复此步骤?
我可以通过修改 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"]
默认情况下,该图像将执行正确的命令。
我是docker的新手。
我在 Windows 10 OS.
中使用 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 图片上所做的更改,这样我就不必在每次重新启动笔记本时都重复此步骤?
我可以通过修改 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"]
默认情况下,该图像将执行正确的命令。