gpt4 book ai didi

docker - Docker 如何处理不同的内核版本?

转载 作者:行者123 更新时间:2023-12-04 15:06:43 28 4
gpt4 key购买 nike

假设我为使用版本 10 内核的操作系统制作了一个镜像。如果我在运行版本 9 内核的主机操作系统上为该镜像运行容器,Docker 会表现出什么行为? 11版呢?

版本的向后兼容性是否重要?我是出于好奇而问的,因为文档只讨论了“最低 Linux 内核版本”等。这听起来主机运行的内核版本超出该最低版本并不重要。这是真的?有注意事项吗?

最佳答案

Let's say that I make an image for an OS that uses a kernel of version 10.



我认为这有点误解,除非您谈论的是依赖于 Docker 镜像中较新内核功能的特定软件,这种情况应该很少见。一般来说,Docker 镜像只是一个自定义的文件/目录结构,通过 FROM 分层组装。和 RUN一个或多个 Dockerfiles 中的说明,带有一些元数据,例如要打开的端口或要在容器启动时执行的文件。这就是它的全部内容。 Docker的基本原理很像经典 chroot jail ,只是更现代一点,上面有一些糖果。

What behavior does Docker exhibit if I run a container for that image on a host OS running a kernel of version 9? What about version 11?



如果内核可以运行 Docker 守护进程,它应该能够运行任何镜像。

Are there caveats?



如上所述,包含依赖前沿内核功能的软件的 Docker 镜像将无法在没有这些功能的内核上运行,这应该不足为奇。 Docker 不会阻止您在较旧的内核上运行这样的镜像,因为它根本不关心镜像中的内容,也不知道使用什么内核来创建镜像。

我唯一能想到的另一件事是手动编译软件,并针对 Intel 或 Amd 等特定 CPU 进行积极优化。此类镜像将在具有不同 CPU 的主机上失败。

关于docker - Docker 如何处理不同的内核版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51343767/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com