【发布时间】:2021-12-13 10:00:54
【问题描述】:
我是容器方面的新手,我知道我不像虚拟机那样容器中没有操作系统。
但是如果我在 Linux 操作系统下构建一个容器镜像,然后我想在 Windows 机器上运行这个容器镜像怎么办。这将如何发生?
根据我对容器映像的理解,只有您的代码和库。在不同操作系统之间切换时,我以为一开始会崩溃。
有人可以纠正我吗,非常感谢您的帮助,谢谢
【问题讨论】:
标签: docker containers
我是容器方面的新手,我知道我不像虚拟机那样容器中没有操作系统。
但是如果我在 Linux 操作系统下构建一个容器镜像,然后我想在 Windows 机器上运行这个容器镜像怎么办。这将如何发生?
根据我对容器映像的理解,只有您的代码和库。在不同操作系统之间切换时,我以为一开始会崩溃。
有人可以纠正我吗,非常感谢您的帮助,谢谢
【问题讨论】:
标签: docker containers
其实并没有那么复杂。例如,当您对 Windows 使用 Docker Desktop 时,您可以选择使用 Windows containers 或 Linux containers。如果您选择在 Windows 上运行 Linux containers,则会在后台发生一些事情,但是,Docker Desktop会为您执行此操作:
Hyper-V需要在windows机器上开启supervisorHyper-V Linux 映像Hyper-V 上启动,并作为您的Linux containers 的新host 工作
因此,当您构建或运行新的 docker 映像时,所有这些指令和命令都会在这些 Linux 机器上运行。
此外,容器有一个operative system,但它非常简单,这就是它们如此轻量级的原因,如果您需要基本映像没有的其他任何东西(可能是系统调用或其他东西),该容器可以使用主机内核来运行这些指令(主机与正在运行的容器共享内核)。这是从 docker 入手的好方法,可以了解它在内部是如何工作的。
这可能有助于解释它是如何工作的:
【讨论】: