+-
linux-kernel – Docker如何运行不同内核的发行版?
如何在Debian主机上运行docker可能是容器中的OpenSUSE?它使用不同的内核,具有独立的模块.旧的Debian版本也使用了较旧的内核,那么如何在内核版本3.10上运行呢?较旧的内核只有较旧的内置函数,旧的发行版如何管理新功能?
什么是“诀窍”呢?
最佳答案

How can docker run on a Debian host maybe an OpenSUSE in a container

因为内核是相同的并且将支持Docker引擎运行所有这些容器映像:主机内核应该是3.10或更多,但它的list of system calls相当稳定.

见“Architecting Containers: Why Understanding User Space vs. Kernel Space Matters”:

Applications contain business logic, but rely on system calls. Once an application is compiled, the set of system calls that an application uses (i.e. relies upon) is embedded in the binary (in higher level languages, this is the interpreter or JVM). Containers don’t abstract the need for the user space and kernel space to share a common set of system calls. In a containerized world, this user space is bundled up and shipped around to different hosts, ranging from laptops to production servers. Over the coming years, this will create challenges.

https://rhelblog.files.wordpress.com/2015/07/user-space-vs-kernel-space-simple-container.png?w=584&h=231

From time to time new system calls are added, and old system calls are deprecated; this should be considered when thinking about the lifecycle of your container infrastructure and the applications that will run within it.

另见“Why kernel version doesn’t match Ubuntu version in a Docker container?”:

There’s no kernel inside a container. Even if you install a kernel, it won’t be loaded when the container starts. The very purpose of a container is to isolate processes without the need to run a new kernel.

点击查看更多相关文章

转载注明原文:linux-kernel – Docker如何运行不同内核的发行版? - 乐贴网