我对 Docker 非常陌生,目前正在尝试了解是否有任何最佳实践指南来更新在非常大的分布式环境中的 docker 容器内运行的软件。我已经找到了几篇关于在 docker 等中更新 MySQL 数据库的帖子。它为任何存储数据的软件提供了很好的提示,但是如果您想更新其他部分或您自己的软件包或由通过 docker-compose 生成其他几个 docker 镜像?
是否有具有现实生活经验的人在这样的环境中这样做,可以帮助我或其他新手了解 docker 中的最佳实践(如果有的话)。
感谢您的帮助!
最佳答案
您永远不会在正在运行的容器中更新软件。您从 hub 中下载一个新版本。如果我们假设您使用的是图像的最新标签(这是一个坏主意,始终固定您的版本),并且它是官方库图像之一或使用自动构建的公开可用图像,您将获得最新版本的拉取镜像时的容器镜像。
这假设您还将数据作为主机卷或使用数据容器模式从容器中分离出来。
容器应该被认为是不可变的,如果你改变它的状态,它就不再是图像的真实版本。
关于docker - 如何更新 docker 容器内的软件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32442822/