我在努力树立码头的形象。我的Dockerfile是这样的:
FROM python:2.7
ADD . /code
WORKDIR /code
RUN pip install -r requirement.txt
CMD ["python", "manage.py", "runserver", "0.0.0.0:8300"]我的requirement.txt文件如下:
wheel==0.29.0
numpy==1.11.3
django==1.10.5
django-cors-headers==2.0.2
gspread==0.6.2
oauth2client==4.0.0现在,我的代码有了一些变化,我需要熊猫,所以我将它添加到requirement.txt文件中
wheel==0.29.0
numpy==1.11.3
pandas==0.19.2
django==1.10.5
django-cors-headers==2.0.2
gspread==0.6.2
oauth2client==4.0.0pip install -r requirement.txt将安装该文件中的所有软件包,尽管它们中的几乎都已经安装过。我的问题是如何使pip只安装熊猫?这将节省构建图像的时间。
谢谢
发布于 2017-03-25 15:15:18
如果您在用requirement.txt更改docker build -t <your_image> .之后重新构建映像,我想这是不可能的,因为每次docker运行docker build时,它都会从基本映像启动中间容器,这是一个新的环境,因此pip显然需要安装所有的依赖项。
您可以考虑使用预装的公共依赖项在python:2.7上构建自己的基本映像,然后在自己的基本映像上构建应用程序映像。一旦需要添加更多的依赖项,手动重新构建上一个仅安装额外依赖项的基本映像,然后可以选择将其docker push返回到您的注册表。
希望这会有帮助:)
https://stackoverflow.com/questions/43017522
复制相似问题