基于Ubuntu的docker镜像可以在Redhat中运行吗?

pas*_*ger 11 docker

阅读一些PPT,似乎一个容器可以在不同的Linux供应商上运行.是真的吗?

ari*_*elf 6

是.这是码头工人的主要想法.

它在chrooted env中创建一个"静态容器",能够在任何linux上运行,因为所有需要的用户域依赖关系都包含在映像中.

由于linux(内核)保持了对系统调用及其调用方案的向后兼容性,因此该想法可以跨版本甚至不同的Linux发行版工作.

当然,二进制架构(比如amd64)在源系统和目标系统上需要是相同的.


Bry*_*yan 5

是的,对于大多数应用程序而言,内核是您实际运行的任何内容(在您的示例中为RedHat),而用户空间由容器(Ubuntu)提供.

大多数Linux内核变体都非常相似,应用程序也不会注意到.但是,如果代码依赖于内核中不存在的特定内容,那么Doc​​ker无法帮助您.

在编写本文时,Docker本身依赖于某些最小内核功能,版本3.8.https://docs.docker.com/engine/installation/binaries/