gpt4 book ai didi

docker - Docker如何绕过操作系统?

转载 作者:行者123 更新时间:2023-12-02 18:15:52 27 4
gpt4 key购买 nike

简单来说,Docker镜像/容器如何在没有操作系统的另一台机器上工作?

对于VM来说,如果您有一台具有OS A的计算机A和一台具有OS B的计算机B,并且想要运行源于计算机B上计算机A的代码,则安装在计算机B上的VM将运行OS A,因此它将使用机器A上的代码。

但是使用Docker,机器A和机器B是否都必须已经安装OS A?还是机器A仍然有OS A而机器B没有任何东西,而Docker镜像/容器在机器B上运行并创建了与OS A类似的东西以便使其在机器B上运行?

最佳答案

Docker仍然需要运行内核,因为镜像不提供自己的内核,也不是完整的操作系统。

启动容器后,图像的各层将连接在一起,以提供应用程序需要运行的所有内容。 Docker守护程序配置各种 namespace (进程,安装,网络,用户,IPC等),以将容器与同一台机器上的其他进程隔离。这就是作为单独的VM提供的外观和感觉,即使它只是计算机上的另一个进程。

归根结底,容器只是机器上运行的另一个进程。它只是带来整个环境的一种。

我最近为此写了一张blog post,其中制作了一张新图像,可能有助于可视化它的工作方式。左侧是传统的VM堆栈,右侧是“容器化”版本。同样,它们只是共享同一内核的进程,但是使用内核 namespace 限制了进程。

Containers vs VMs

关于docker - Docker如何绕过操作系统?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43929202/

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