我正在尝试构建Docker镜像。我的 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"]
我的 requirements.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
现在,我的代码有一些变化,我需要 pandas ,所以我将它添加到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.0
pip install -r requirement.txt
将安装该文件中的所有软件包,尽管之前已安装了几乎所有软件包。我的问题是如何只制作pip install pandas ?这将节省构建图像的时间。
谢谢
答案 0 :(得分:1)
如果在使用docker build -t <your_image> .
更改 requirement.txt 后重建图片,我想这是不可能的,因为每次docker运行docker build
时,它都会从基础映像启动一个中间容器,这是一个新环境,因此pip
显然需要安装所有依赖项。
您可以考虑在预先安装了公共依赖项的python:2.7
上构建自己的基本映像,然后在您自己的基本映像上构建应用程序映像。一旦需要添加更多依赖项,请手动重新构建前一个基础映像,只安装额外的依赖项,然后可以选择docker push
将其返回到您的注册表。
希望这可能会有所帮助: - )