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