<p>使用@Rao和@romanimary在他们的答案中解释过的概念,我终于找到了一种实现我想要的方法:将额外的python需求添加到自己创建的docker映像中。在</p>
<p>我的新Dockerfile如下:</p>
<pre><code>FROM ubuntu:14.04
RUN apt-get update
RUN apt-get install -y python-pip python-dev build-essential
RUN pip install upgrade pip
WORKDIR /root
COPY install_req.sh .
CMD ["/bin/bash" , "install_req.sh"]
</code></pre>
<p>我添加了一个shell脚本的执行作为第一个命令,该脚本包含以下内容:</p>
^{pr2}$
<p>最后,我使用以下命令构建并运行映像:</p>
<pre><code>docker build tag test .
docker run -itd name container_test -v $(pwd)/sourceCode:/root/sourceCode test <- without any parameter at the end
</code></pre>
<p>我在一个名为“本地”的文件夹的起始处解释了一个名为“我”的有效文件夹的源代码要求.txt只有一行“gunicorn”的文件</p>
<p>最后,我有能力向给定的docker映像添加一些额外的需求(本例中是gunicorn包)。在</p>
<p>在构建并运行我的实验之后,如果我检查日志(<code>docker logs container_test</code>),我会看到如下所示:</p>
<pre><code>Downloading gunicorn-19.6.0-py2.py3-none-any.whl (114kB)
100% |################################| 122kB 1.1MB/s
Installing collected packages: gunicorn
</code></pre>
<p>此外,容器已经创建了一个冻结.txt装入卷内的文件,其中包含已安装的所有pip包,包括所需的gunicorn:</p>
<pre><code>chardet==2.0.1
colorama==0.2.5
gunicorn==19.6.0
html5lib==0.999
requests==2.2.1
six==1.5.2
urllib3==1.7.1
</code></pre>
<p>现在我对新创建的文件的权限有其他问题,但这可能会出现在一篇新文章中。在</p>
<p>谢谢你!在</p>