Answers:
我不同意接受的答案。首先,您在设计容器时应牢记状态分离(在MySQL情况下,这意味着至少/var/lib/mysql
要以其自身的体积进行操作)。其次,您应该确定升级策略;最先进的方法是为每组apt软件包升级创建版本化映像,并在将数据量从运行容器交换到新容器之前对其进行测试。如果您使用臀部疼痛之类的设备,则可以包括停机时间,也可以根本没有停机时间。
这种设置虽然最初设置起来比较昂贵,但与具有大量容器的公司所使用的设置相同,并且随着时间的推移维护起来会更便宜。
此外,程序包升级最终可能会破坏您正在运行的容器,因此将它们应用于正在运行的容器不是最佳做法-因为它不会运行过时的软件。
TL; DR:如果您自己没有构建它,那将不会发生。
要做到这一点有效的方法是简单地写由指定的容器自定义启动脚本CMD
在你的Dockerfile
。在此文件中,apt-get update && apt-get upgrade -qqy
在开始运行之前先运行一个。
然后,您可以通过两种方法确保更新到达容器:
优化和自动化不是最容易的事情,但是有可能。