docker在linux机器上运行时是否使用虚拟化解决方案?

docker在linux机器上运行时是否使用虚拟化解决方案?,docker,virtualization,Docker,Virtualization,使用Docker for Windows时,容器在Windows上的hyper-v linux虚拟机中并排运行。 那么,在ubuntu中启动容器时,是否需要像hyper-v这样的虚拟化解决方案,或者容器只是作为ubuntu中的进程运行 我的第一句话的源代码-容器”是一个概念,它(主要)结合了Linux内核中实现的两个功能-和。您需要在Windows上安装VM,因为Windows没有实现这两个功能 因此,当您在Linux上以本机方式运行容器时,每个容器都将作为受控制组和名称空间约束的单独进程运行。

使用Docker for Windows时,容器在Windows上的hyper-v linux虚拟机中并排运行。 那么,在ubuntu中启动容器时,是否需要像hyper-v这样的虚拟化解决方案,或者容器只是作为ubuntu中的进程运行

我的第一句话的源代码-

容器”是一个概念,它(主要)结合了Linux内核中实现的两个功能-和。您需要在Windows上安装VM,因为Windows没有实现这两个功能

因此,当您在Linux上以本机方式运行容器时,每个容器都将作为受控制组和名称空间约束的单独进程运行。

“容器”是一个概念,它(主要)结合了Linux内核中实现的两个功能-和。您需要在Windows上安装VM,因为Windows没有实现这两个功能


因此,当您在Linux上以本机方式运行容器时,每个容器将作为受控制组和名称空间约束的单独进程运行。

首先,为什么选择hyper-v?

docker在windows上使用hyper-v VM的原因是:对于linux容器,它必须共享主机的linux内核。但是在windows上,我们没有linux内核,所以docker为您设置了一个hyper-v虚拟机,然后让您的容器共享内核

其次,为什么不在linux上安装VM?

但是在linux上,主机已经有一个linux内核,所以容器可以在不使用任何VM的情况下共享这个内核

事实上,从下一个图中可以看到,当您启动一个新容器时,它将自动新建一个进程
containerd shim
,它将作为一个进程运行,您可以使用
ps aux | grep docker
在linux主机上查看它

最后,什么是容器?


Docker使用一种称为名称空间的技术来提供称为容器的隔离工作空间。当您运行一个容器时,Docker为该容器创建一组名称空间,然后容器中的每个进程都将在一个单独的名称空间中运行。请参阅。

首先,为什么选择hyper-v?

docker在windows上使用hyper-v VM的原因是:对于linux容器,它必须共享主机的linux内核。但是在windows上,我们没有linux内核,所以docker为您设置了一个hyper-v虚拟机,然后让您的容器共享内核

其次,为什么不在linux上安装VM?

但是在linux上,主机已经有一个linux内核,所以容器可以在不使用任何VM的情况下共享这个内核

事实上,从下一个图中可以看到,当您启动一个新容器时,它将自动新建一个进程
containerd shim
,它将作为一个进程运行,您可以使用
ps aux | grep docker
在linux主机上查看它

最后,什么是容器?

Docker使用一种称为名称空间的技术来提供称为容器的隔离工作空间。当您运行一个容器时,Docker为该容器创建一组名称空间,然后容器中的每个进程都将在一个单独的名称空间中运行。看