在不同的主机操作系统上构buildDocker镜像

对于以下作业,下划线Linux发行版和/或版本可以不同:

build立一个Docker镜像(比如在Ubuntu主机上构build一个CentOS docker镜像,或者在CentOS 7.1主机上构build一个CentOS 6.6 docker镜像)运行一个docker容器(比如在Fedora主机上运行一个CentOS docker容器,或者运行一个CentOS 6.6 Docker容器在CentOS 7.1主机中)

同样的问题适用于Docker引擎版本,例如,我可以在安装了Docker 1.9的主机上构buildDocker镜像,但是在安装了Docker 1.12的主机上运行它?

还有更深层的Linux内核版本如何构build,例如在内核3下构build,而在内核4下运行?

我想我明白Docker真的只是类固醇上的chroot环境,所以在构build和运行容器时强调操作系统并不重要,但是我发现人们遇到了操作系统/版本不兼容的问题,任何人都可以提供关于此主题的一些见解?

在另一个版本上构build一个版本不是问题(例如,在Ubuntu系统上构build一个CentOS容器等)

对于Docker版本,在某些情况下,您可能无法使用较旧的Docker引擎运行使用较新的Docker构build的容器。 如果你构build一个镜像,然后在一个更新的Docker引擎上运行它,这应该不成问题。 这是因为较新的Docker引擎可能会构build具有较旧引擎不能理解的function的映像。 但是这不应该成为一个问题。

内核版本不应该是一个大问题,但它取决于你正在使用的软件。 如果软件期望在内核4上运行,并在内核3上运行,则可能无法正常工作。 但是,如果在旧的内核版本中不存在所需的内核function,则这只是一个问题。 这并不常见,至less在典型的软件中是如此。 但是肯定会发生。

恐怕这个build议是非常通用的,因为这是一个普遍的问题,而不是特定的软件版本或软件包。