以下作业的下划线Linux发行版和/或版本是否有所不同:
构建一个docker镜像(例如在Ubuntu主机中构建CentOS docker镜像,或在CentOS 7.1主机中构建CentOS 6.6 docker镜像) 运行一个docker容器(例如在Fedora主机中运行CentOS docker容器,或在CentOS 7.1主机中运行CentOS 6.6 docker容器)
同样的问题适用于Docker引擎版本,例如,我可以在安装了Docker 1.9的主机中构建docker镜像,但是在安装了Docker 1.12的主机中运行它吗?
然而,不同版本的Linux内核如何更深入,例如,在内核3下构建但在内核4下运行?
我想我理解Docker真的只是类固醇的chroot环境,因此在构建和运行容器时强调操作系统真的无关紧要,但我发现人们遇到了不兼容的操作系统/版本的问题,任何人都可以提供一些见解在这个问题?
答案 0 :(得分:2)
在另一个上建立一个发行版不是问题(例如在Ubuntu系统上构建CentOS容器等)。
关于Docker版本,在某些情况下,您可能无法使用较旧的Docker引擎运行使用较新Docker构建的容器。如果您构建一个映像然后在较新的Docker引擎上运行它,那应该不是问题。这是因为较新的Docker引擎可能会构建一个具有旧引擎无法理解的功能的图像。但它不应该成为另一个问题。
内核版本不应该是一个大问题,但它取决于您使用的软件。如果软件期望在内核4上运行,并且您在内核3上运行它,那么它可能无法运行。但是,当旧内核版本中不存在所需的内核功能时,这只是一个问题。这并不常见,至少对于典型的软件而言。但它肯定会发生。
这个建议很通用,我很害怕,因为这是一个普遍的问题,而不是特定的软件版本或软件包。