在其包收到(安全)更新时重建 Docker 个图像

Rebuild Docker images when its packages received (security) updates

我刚刚用 RUN git clone ... 指令更改了一个 Docker 文件,这样它现在可以注意到 Git 存储库中的更改并相应地重建。这需要解决 Docker 的正常缓存机制。

我选择了一种引入 ARG 的机制,该 ARG 保存存储库头部的 Git 提交哈希,如建议的那样 here. I've also taken notice of an alternative mechanism that copies a similar version "hash" by means of an ADD instruction, as suggested here

同一个 Docker 文件还通过 RUN apt-get install -y ... 安装了几个 (Debian) 软件包。因此我想知道:如果任何软件包收到(安全)更新,是否有类似的解决方法(部分)重建 Docker 图像?基于上述基于 ADD 的解决方法,我可以例如想象一下基于网络服务的东西,它接收 key/value 对,其中包含包 names/version 号,并且 returns 在未决(安全)更新的情况下是一个合格的“散列”。这样的特定组件是否存在,或者是否有更通用的最佳实践来涵盖这样的用例?

我想说这是 docker 根本没有解决的最大弱点。

afaik 通常的解决方法是每晚从头开始重建映像(在构建服务器上?),然后如果您的测试 运行 没有问题,则自动将其升级到生产环境。