【发布时间】:2023-03-11 01:20:01
【问题描述】:
是否可以在 Linux 操作系统中创建和运行 windows docker?
我通过在 ubuntu 操作系统中运行 RHEL docker 获得了成功。需要知道是否有可能在任何 linux 风格的操作系统中运行 Windows docker
【问题讨论】:
是否可以在 Linux 操作系统中创建和运行 windows docker?
我通过在 ubuntu 操作系统中运行 RHEL docker 获得了成功。需要知道是否有可能在任何 linux 风格的操作系统中运行 Windows docker
【问题讨论】:
我通过在 ubuntu 操作系统中运行 RHEL docker 获得了成功。
两者都基于通用 Linux 内核,因此来自 REHL docker 的任何系统调用都可以由主机 (Ubuntu) 内核处理。
需要知道是否有可能在任何 linux 风格的操作系统中运行 Windows docker
不,你只能在 Windows 上直接运行 Linux docker:今天,对于 Windows 上的 Linux docker,你需要一个 VirtualBox 和一个能够支持 docker 的 Linux 主机。
同样,您需要在 Linux 主机上安装一个虚拟机,模拟正确的操作系统(在您的情况下,a Windows Server 2006 TP3 or more)才能运行 docker windows。
2016 年 12 月更新:Kubernetes 1.5 可能会提供解决方案:请参阅“Linux machine with docker deploy windows container”
【讨论】:
这个问题实际上触及了容器和虚拟机之间的关键区别。 VM 是一整台机器(内核、用户空间程序和 nic 之类的设备打包成一个)。另一方面,容器缺少内核,它必须与其他容器共享主机的内核。这使得 Docker 容器非常依赖内核。
因为来自不同发行版(例如 CentO 和 Ubuntu)的 Linux 共享相同的 Linux 内核,所以它们可能位于同一主机上。但是,Linux 内核与 Windows 应用程序不兼容,所以这是不可能的。
为了让事情变得更复杂一点,您实际上可以在 Windows 主机上运行 Linux 容器,尽管它非常处于实验阶段(是的,我知道这与您想要的相反......)。 Google LCOW(Windows 上的 Linux 容器)。它本质上是基于 hyper-v 的 VM,在 Windows 主机之上运行 Linux 内核和容器。拥有单独的内核意味着额外的资源,但它可以让 Windows 管理员在同一网络上运行仅 Linux 的容器应用程序和 Windows 应用程序。
【讨论】: