【问题标题】:How docker container use host OS?docker 容器如何使用主机操作系统?
【发布时间】:2017-12-12 19:14:42
【问题描述】:

在每个 docker 教程中,docker 的主要优点之一是 docker 容器使用主机操作系统。但如果这是真的,我不明白为什么我需要在图像中包含操作系统。例如here 是centOS 的镜像。我知道如果我想在容器中运行 centOS,我必须提取这个图像,但是主机操作系统来自哪里?最好有人能指出一些链接来阅读相关内容,因为我找不到合适的链接。

【问题讨论】:

    标签: docker


    【解决方案1】:

    Docker对宿主机使用的其实只是操作系统的kernel

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

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

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

    【讨论】:

      【解决方案2】:

      它实际上共享内核和从主机操作系统启动映像所需的库。这就是为什么这些图像非常小并且不像传统的 ISO 文件。它主要利用联合文件系统、cgroups 和命名空间来管理镜像和容器。

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

      【讨论】:

        猜你喜欢
        • 2022-11-22
        • 2020-09-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-12-06
        • 2017-08-30
        • 2019-10-14
        • 1970-01-01
        相关资源
        最近更新 更多