docker容器如何使用主机操作系统?

时间:2017-12-12 10:41:47

标签: docker

在每个docker教程中,docker的一个主要优点是docker容器使用主机操作系统。但如果这是真的,我不明白为什么我需要在图像中包含操作系统。例如here是centOS的图像。据我所知,如果我想在容器中运行centOS,我必须拉出这个图像,但主机操作系统来了吗?最好是有人可以指点我阅读一些链接,因为我找不到合适的链接。

2 个答案:

答案 0 :(得分:1)

Docker使用的主机实际上只是操作系统的内核

您在Docker容器中包含的内容不是实际的操作系统(即内核),而是组成特定发行版的所有文件,例如Ubuntu或Fedora,或者其他......

这也是为什么你不能在Windows上运行Linux容器而反之亦然(没有VM)的原因,因为Linux软件当然不能与Windows内核一起使用,而且Windows软件无法使用Linux内核。

因此,在给定主机上运行的所有Docker容器共享主机操作系统的内核。

答案 1 :(得分:-1)

它实际上共享内核&必需的库从主机操作系统启动映像。这就是为什么这些图像真的很小而且不像传统的ISO文件。它主要利用union文件系统,cgroups和命名空间来管理图像和容器。

您可以快速阅读以下内容 -
https://kjanshair.github.io/2017/07/04/Docker-Containers-vs-System-Processes/ How is Docker different from a normal virtual machine?