首页 > 解决方案 > 如何在 Docker 中构建映像而不每次都下载所有依赖项?

问题描述

我有一个使用 Docker 的 Django 应用程序,并且在 requirements.txt 中有一堆库依赖项 每当我添加新的依赖项时,我都必须重新构建映像,它会从头开始下载所有依赖项。构建 docker 镜像时有没有办法缓存依赖项?

标签: docker

解决方案


最常见的解决方案是在已经拥有所有依赖项的基础镜像之上创建一个新的基础镜像。但是,如果您非常定期地更新所有依赖项,那么设置一个 CI 流程可能会更容易,您可以在其中每隔一段时间(每周?每天?)构建一个新的基础镜像。

Multistage 可能无法在 Docker 中工作,因为依赖项是基础映像的一部分,因此docker build .当您执行pip3 install -r requirements.txt


推荐阅读