如果我构建一个ubuntu(如16.04)基本映像,那么我在Centos主机中通过这个映像构建一个容器。主机内核会对容器产生一些影响吗?
Docker容器在运行时共享主机的内核。 docker build
在内部启动了一系列容器,所以如果你的一个Dockerfile步骤做了一些依赖于内核的东西,理论上如果图像是在不同的系统上构建的,你可以得到不同的结果。反过来,无论图像的构建位置如何,当您运行它时,它将使用当前主机的内核。
实际上,具有深层内核级依赖关系的程序(例如,依赖于正在加载的特定模块)很难在Docker下运行;你需要打破Docker提供的很多隔离来运行程序,而且在主机上运行这些类型的程序通常更容易也更好。
另一方面,“常规”服务器类型的Docker镜像(例如,在SO上无处不在的各种Python,Node和PHP应用程序)对内核完全不敏感,只要你的内核是新的,足以成功运行Docker并不重要。