Docker:处理从apt-get到Docker容器内的包的安全更新的最佳方式



在我当前的服务器上,我使用无人值守升级来自动处理安全更新。但我想知道人们对在码头集装箱内工作有什么建议。我的应用程序的每个服务都有几个docker容器在运行。我应该在每个中设置无人值守升级吗?或者可能在本地升级它们并向上推升级后的映像?还有其他想法吗?

也许有人在生产中有这样的经验吗?

我会像您(以前)那样自动更新。我目前有Stage容器,但在Prod中什么都没有。但对每个容器应用更新并没有坏处:如果在同一个映像中有多个容器,可能会有一些冗余的网络活动,但在其他方面是无害的。

重建一个容器让我觉得不必要地耗时,而且涉及到一个更复杂的过程。

WRT时间:重建的时间加上了更新所需的时间,所以从这个意义上说,这是"额外"的时间。如果您有容器的启动过程,则必须重复这些过程。

WRT复杂性:一方面,您只是使用apt运行更新。另一方面,你基本上是在充当集成服务器:步骤越多,出错的次数就越多。

此外,更新不会创建"黄金图像",因为它很容易重复。

最后,由于内核实际上从未更新过,因此您永远不需要重新启动容器。

我会重新构建容器。它们通常面向运行一个应用程序,可能对更新支持文件系统和所有包含但未使用/公开的应用程序没有什么意义。

将数据放在一个单独的卷中可以让你有一个脚本来重建容器并重新启动它。它的优点是,从该映像加载另一个容器或通过存储库推送到另一台服务器可以应用所有修复。

最新更新