了解用于 Linux 和 Windows 容器的 Docker 容器主机 与 容器操作系统

发布于 2024-08-20 17:13:03 字数 2601 浏览 12 评论 0

让我们来探讨一下 容器主机 和 容器操作系统 之间的关系,以及它们在 Linux 和 Windows 容器之间的区别。

一些定义

  • 容器主机Container Host:也称为主机操作系统Host OS。主机操作系统是 Docker 客户端和 Docker 守护程序在其上运行的操作系统。在 Linux 和非 Hyper-V 容器的情况下,主机操作系统与运行中的 Docker 容器共享内核。对于 Hyper-V,每个容器都有自己的 Hyper-V 内核。
  • 容器操作系统Container OS:也被称为基础操作系统Base OS。基础操作系统是指包含操作系统如 Ubuntu、CentOS 或 windowsservercore 的镜像。通常情况下,你将在基础操作系统镜像之上构建自己的镜像,以便可以利用该操作系统的部分功能。请注意,Windows 容器需要一个基础操作系统,而 Linux 容器不需要。
  • 操作系统内核Operating System Kernel:内核管理诸如内存、文件系统、网络和进程调度等底层功能。

如下的一些图

Linux Containers

在上面的例子中:

  • 主机操作系统是 Ubuntu。
  • Docker 客户端和 Docker 守护进程(一起被称为 Docker 引擎)正在主机操作系统上运行。
  • 每个容器共享主机操作系统内核。
  • CentOS 和 BusyBox 是 Linux 基础操作系统镜像。
  • “No OS” 容器表明你不需要基础操作系统以在 Linux 中运行一个容器。你可以创建一个含有 scratch 基础镜像的 Docker 文件,然后运行直接使用内核的二进制文件。
  • 查看 这篇 文章来比较基础 OS 的大小。

Windows Containers - Non Hyper-V

在上面的例子中:

  • 主机操作系统是 Windows 10 或 Windows Server。
  • 每个容器共享主机操作系统内核。
  • 所有 Windows 容器都需要 nanoserverwindowsservercore 的基础操作系统。

Windows Containers - Hyper-V

在上面的例子中:

  • 主机操作系统是 Windows 10 或 Windows Server。
  • 每个容器都托管在自己的轻量级 Hyper-V 虚拟机中。
  • 每个容器使用 Hyper-V 虚拟机内的内核,它在容器之间提供额外的分离层。
  • 所有 Windows 容器都需要 nanoserverwindowsservercore 的基础操作系统。

几个好的链接

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

欢烬

暂无简介

0 文章
0 评论
23 人气
更多

推荐作者

xu362930323

文章 0 评论 0

缱倦旧时光

文章 0 评论 0

qq_eXruk9

文章 0 评论 0

遂心如意

文章 0 评论 0

guojiayue1

文章 0 评论 0

愿与i

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文