Docker允许主机Linux发行版与来宾Linux发行版不同。
此兼容性是否有限制?你能在内核更老的主机上运行最近的Ubuntu来宾吗?
答案 0 :(得分:4)
经过更多研究,我找到了这个兼容性矩阵
https://success.docker.com/article/Compatibility_Matrix
似乎相关。
不支持其他主机操作系统版本,并且在某些情况下可能会触发内核恐慌,显然,例如: https://github.com/moby/moby/issues/29397
答案 1 :(得分:3)
Docker允许主机Linux发行版与来宾Linux发行版不同。
为了清楚起见,运行Docker容器时没有来宾Linux发行版。 Docker容器不是Linux操作系统。
诸如ubuntu,centos等的Docker镜像不是操作系统。它们只是模仿"模仿"从操作系统分发的角度来看,它们具有非常相似的文件系统结构和工具 您通常可以在Ubuntu或Centos等操作系统上找到它。那些图像里面没有自己的内核。
如果您想知道是否可以在ubuntu:16.04
的计算机上运行Docker镜像ubuntu:14.04
,答案是肯定的。此外,与其他图像一般不应存在任何兼容性问题。
现在由于内核不是映像的一部分,因此可以创建一个Docker映像,该映像可以在一个内核版本上运行而在另一个内核版本上运行。例如,您可以请求可能不存在的系统调用 在较旧的内核版本中。
但是,这个问题不是由docker引起的,而是与容器内运行的软件相关的问题。
最后,如果你在一台机器上运行Docker,你至少会拥有3.10的内核版本,这个版本不是很老。因此不太可能遇到任何此类限制。