macos - 我可以在 Docker Desktop for Mac 上运行 Windows 容器吗?
问题描述
我希望能够在我的 Mac 上运行 Windows Docker 容器,这似乎是使用 Docker Toolbox 支持的 我如何在 osx 上运行 docker windows 容器?
但似乎现在已弃用,我们现在应该使用 Docker Desktop。
Docker Desktop 有一个更好的新 Hypervisor,称为 HyperKit,而不是 Virtual Box https://docs.docker.com/docker-for-mac/docker-toolbox/
Docker 工具箱允许使用 VirtualBox 启动 Windows 容器,所以不确定这是否意味着这仍然可行?
我在这里找到了将 Docker Desktop 置于“Windows 容器模式”的参考https://www.clearpeople.com/insights/blog/2018/june/sitecore-demo-in-a-docker-container
但我找不到任何地方可以实现这一点,非常感谢任何帮助或见解。
这里有一个相关的问题How can I run a docker windows container on osx? 但它太老了,无关紧要,不应该成为锁定这个问题的理由。
解决方案
Docker 只能在 Linux 机器上本地运行,因为它需要称为命名空间和控制组的 Linux 内核特性。Docker 容器是从精简的 Linux 发行版构建的。
在 OS X 和 Windows 上运行 Docker 的原始解决方案是 Docker Toolkit。这实际上是一个运行在 VirtualBox Hypervisor 中的 Linux 虚拟机。VM 安装了 Docker,可以运行容器。
Docker Desktop for Mac 仍然使用在 HyperKit Hypervisor 中运行 Linux 的虚拟机。这个虚拟机是轻量级的并且有效地对用户隐藏。
同样,适用于 Windows 的 Docker Desktop 使用在 Hyper-V 管理程序中运行的虚拟机。它还可以运行 Windows 容器。
要运行 Windows 容器,您需要一台运行 Docker 的 Windows 机器。Windows 机器可以是在 Mac 或 Linux 机器上运行的虚拟机。
推荐阅读
- c# - 为什么我的 itemCommand DataGrid 事件仅在第二次单击网格控件中的项目时触发?
- arrays - 如何通过时间戳将项目分类为对象
- php - PUT 请求失败的 Laravel FormRequest
- gcc - 如何在 CentOS 上安装 GCC/G++ 8
- jupyter-notebook - 当我运行 Jupyter notebook 时什么都没有显示
- c# - C# Powershell 代码未在 Windows 7 上执行
- python - 一个接一个地触发点击功能(在模态中)
- swift - Swift tableview 单元格不使用不同的标识符保存状态
- arrays - 使用 JSX 映射数组
- python - 使用 tf.estimator.WarmStartSettings 加载(或组合)几个预训练的检查点