docker - 如何在 Docker 中构建映像而不每次都下载所有依赖项?
问题描述
我有一个使用 Docker 的 Django 应用程序,并且在 requirements.txt 中有一堆库依赖项 每当我添加新的依赖项时,我都必须重新构建映像,它会从头开始下载所有依赖项。构建 docker 镜像时有没有办法缓存依赖项?
解决方案
最常见的解决方案是在已经拥有所有依赖项的基础镜像之上创建一个新的基础镜像。但是,如果您非常定期地更新所有依赖项,那么设置一个 CI 流程可能会更容易,您可以在其中每隔一段时间(每周?每天?)构建一个新的基础镜像。
Multistage 可能无法在 Docker 中工作,因为依赖项是基础映像的一部分,因此docker build .
当您执行pip3 install -r requirements.txt
推荐阅读
- javascript - 使用 CSS 和 javascript 显示活动的主菜单和子菜单
- r - 如何过滤掉值与其他值非常不同的行?
- java - 如何在格式化的 xpath 中使用撇号?
- sql - 选择具有 balance(:name, :balance) 值的前 5 个客户,并将其他具有 name 其他和余额总和的客户
- r - 在 R 中构建 libKML 驱动程序
- python - ansible jinja 或 python;动态 json 结构的计算
- django - 在 Django 应用程序中打开 pdf 文件
- error-handling - 控制器中的错误处理
- postgresql - 为什么我无法安装 Postgresql (PostgreSQL-9.6.2-2-win64-bigsql.exe)?视窗
- android - SQLite 数据库游标崩溃