Docker 如果我在具有旧内核的主机上运行ubuntu基础映像会怎么样?

Docker 如果我在具有旧内核的主机上运行ubuntu基础映像会怎么样?,docker,Docker,如果我构建一个ubuntu(如16.04)基本映像,那么我将在Centos主机中通过该映像构建一个容器。主机内核会对容器产生一些影响吗?Docker容器在运行时共享主机的内核docker build在内部启动一系列容器,因此,如果docker文件的某个步骤执行与内核相关的操作,那么从理论上讲,如果映像构建在不同的系统上,则可以得到不同的结果。反过来,无论映像构建在何处,当您运行它时,它都将使用当前主机的内核 实际上,具有深层内核级依赖性(例如,依赖于正在加载的特定模块)的程序很难在Docker下

如果我构建一个ubuntu(如16.04)基本映像,那么我将在Centos主机中通过该映像构建一个容器。主机内核会对容器产生一些影响吗?

Docker容器在运行时共享主机的内核
docker build
在内部启动一系列容器,因此,如果docker文件的某个步骤执行与内核相关的操作,那么从理论上讲,如果映像构建在不同的系统上,则可以得到不同的结果。反过来,无论映像构建在何处,当您运行它时,它都将使用当前主机的内核

实际上,具有深层内核级依赖性(例如,依赖于正在加载的特定模块)的程序很难在Docker下运行;您最终需要打破Docker提供的许多隔离来运行该程序,而在主机上运行此类程序通常更容易、更好


另一方面,“例程”服务器类型的Docker映像(例如,在SO上无处不在的Python、Node和PHP应用程序)对内核根本不太敏感,只要您的内核足够新,能够成功运行Docker,这并不重要。

容器是一个与主机隔离的环境。所以它不会对容器产生影响,这取决于内核版本。docker可以共享一些内核调用,因此,您无法在主机中正确部署内核版本比内核版本更新得多的docker。否则,如果是CentOS、ubuntu或其他linux,则旧版本可能在容器中不起作用。