我们有一个基于 Docker 的开发环境,并且由于我们的暂存和生产服务器不是基于 Docker - 我们正在尝试使它们尽可能相似(Linux 发行版、LAMP 版本、配置......)。
我看到 Docker hub 的大多数官方镜像(例如 mysql)都是基于 Jessie(Debian),而我们的服务器运行的是 Centos 6/7(RedHat),因此我们从 Centos 创建了自己的定制镜像,它具有所有必需的安装,因此它与生产环境类似。
我的问题是 - 确保在 Docker 镜像和生产服务器上使用相同的 Linux 发行版对我们来说真的很重要吗?或者这是浪费时间,我们应该只使用官方镜像?
谢谢。
答案1
从 Docker 的角度来看,匹配容器内外操作系统并不重要。更重要的是,你必须考虑修补和故障排除——如果你混合使用 Debian、CentOS 和 Alpine,那么你必须考虑如何让它们都保持最新状态。
容器内的操作系统的大小也很重要。像 Alpine 这样的极简发行版通常比基本 Debian 映像小,这样可以减小容器大小并减少补丁数量。
如果您的计划是在容器内执行开发/测试,但在容器外进行生产,那么尽可能紧密地匹配它们是有意义的。