如何扩展现有的docker容器?

时间:2017-01-24 14:27:25

标签: docker

张量流停靠器容器可在https://hub.docker.com/r/tensorflow/tensorflow/处使用,以使用requests等其他库来扩展此容器。我知道有两个选项。

  1. 运行容器并运行pip install requests
  2. pip install requests附加到构建此容器的dockerFile
  3. 还有其他选择吗?比如从dockerFile创建tensorflow/tensorflow容器,然后在此容器上安装requests

    阅读How to extend an existing docker image?来完成此操作会创建一个包含这些内容的dockerFile吗? :

    FROM tensorflow/tensorflow
    RUN pip install requests
    

2 个答案:

答案 0 :(得分:17)

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

FROM tensorflow/tensorflow
RUN pip install requests

现在构建它(注意名称应该是小写):

docker build -t me/mytensorflow .

运行它:

docker run -it me/mytensorflow

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

docker exec -it `docker ps -ql` /bin/bash

从中获取日志:

docker logs `docker ps -ql`

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

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

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

答案 1 :(得分:3)

您可以通过以下方式输入正在运行的容器:

docker exec -it CONTAINER_ID bin/bash

或如果设置了名称:

docker exec -it CONTAINER_NAME bin/bash