如何扩展现有的docker容器?

blu*_*sky 12 docker

tensorflow docker容器可以在https://hub.docker.com/r/tensorflow/tensorflow/上找到,以扩展这个容器和其他库,例如requests我知道有两个选项.

  1. 运行容器并运行 pip install requests
  2. 附加pip install requestsdockerFile构建此容器的那个

还有其他选择吗?类似于tensorflow/tensorflow从dockerFile 创建容器然后requests在此容器上安装的东西.

阅读如何扩展现有的泊坞窗图像?要完成这个创建一个包含这些内容的dockerFile?:

FROM tensorflow/tensorflow
RUN pip install requests
Run Code Online (Sandbox Code Playgroud)

tho*_*oth 17

您的原始断言是正确的,创建一个新的Dockerfile:

FROM tensorflow/tensorflow
RUN pip install requests
Run Code Online (Sandbox Code Playgroud)

现在构建它:

docker build -t me/mytensorflow .
Run Code Online (Sandbox Code Playgroud)

运行:

docker run -it me/mytensorflow
Run Code Online (Sandbox Code Playgroud)

在其中执行一个shell(docker ps -ql给我们一个要运行的最后一个容器的id):

docker exec -it `docker ps -ql` /bin/bash
Run Code Online (Sandbox Code Playgroud)

从中获取日志:

docker logs `docker ps -ql`
Run Code Online (Sandbox Code Playgroud)

扩展其他图像的能力使得docker非常强大,此外你还可以看看他们的Dockerfile:

https://github.com/tensorflow/tensorflow/tree/master/tensorflow/tools/docker

并且从那里开始而不扩展他们的docker图像,这对于在生产中使用docker的人来说是最佳实践,因此您知道一切都是内部构建的,而不是一些黑客潜入您的基础架构.干杯! 和快乐的建筑