更新 docker 服务映像或 docker 文件基础映像有哪些好的策略

what are some good strategies for updating docker service images or dockerfile base images

一些 docker 图片在更新时被重新标记为相同的标签。

人们正在采取什么样的策略或方法来确保他们拉取更新的基础镜像来提供他们的 Dockerfile FROM 语句或依赖于具有升级(但相同标签)的镜像的服务

我知道 kubernetes 有 pull_policy 语句,但是 docker、swarm 或 docker 的等效软选项是什么-撰写。

例如,我们使用 tiangolo/uwsgi-nginx-flask:python3.6 作为 Flask 应用程序的基础。 这个镜像会不时升级,因此基础 OS、python、nginx、flask 和其他依赖项都会收到更新,但我们始终使用相同的镜像标签。

docker-compose does not have 一个内置的方法来处理构建过程中刷新基础图像,所以我们只需在预构建脚本中执行以下操作来强制拉取新图像:

find codebase -name "Dockerfile" | while read line; do cat $line | awk '/FROM/ {print }' | xargs docker pull

这没问题,但我们没有真正的方法来管理这个更新过程。

有没有更好的方法?

Docker compose 将使用本地图像缓存中的当前图像作为基础图像,除非构建是使用 docker-compose build --pull.

显式触发的

如果有一天您决定将构建和 运行 生命周期分开,docker build --pull 提供相同的行为。