Docker 如何在 macOS 主机下运行 Linux 内核?
- 2024-11-07 08:55:00
- admin 原创
- 28
问题描述:
我在 macOS Sierra 上安装了 Docker,如下所示。注意,我没有安装 VirtualBox。
brew cask uninstall virtualbox
brew cask install docker
我的 macOS 详细信息。
$ uname -a
Darwin m-C02QG7TRG8WN.local 16.5.0 Darwin Kernel Version 16.5.0: Fri Mar 3 16:52:33 PST 2017; root:xnu-3789.51.2~3/RELEASE_X86_64 x86_64
$ docker version
Client:
Version: 17.03.1-ce
API version: 1.27
Go version: go1.7.5
Git commit: c6d412e
Built: Tue Mar 28 00:40:02 2017
OS/Arch: darwin/amd64
Server:
Version: 17.03.1-ce
API version: 1.27 (minimum version 1.12)
Go version: go1.7.5
Git commit: c6d412e
Built: Fri Mar 24 00:00:50 2017
OS/Arch: linux/amd64
Experimental: true
一旦我从启动板运行 Docker,我就能运行 Docker 容器。
$ docker run -it ubuntu
root@2351d4222a4e:/# uname -a
Linux 2351d4222a4e 4.9.13-moby #1 SMP Sat Mar 25 02:48:44 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
我的问题是 Docker 如何在 macOS 中运行 Linux 内核?我以为 Docker 至少需要运行 boot2docker 或其他类似的 Linux 内核,这样它才能借助它创建 Ubuntu 的文件系统。但上面的输出似乎表明事实并非如此。那么 Linux 内核从何而来?
解决方案 1:
虽然有关虚拟机管理程序的其他答案是正确的,但它们并未回答您的具体问题。
答案是“Docker [Desktop] for Mac”确实运行了一个 Linux 主机 VM,它取代了 boot2docker - LinuxKit,它是 Docker 为制作轻量级发行版而开发和维护的。
https://blog.docker.com/2017/04/introducing-linuxkit-container-os-toolkit/
您看到的 uname 中没有关键字,但现在似乎已包含在内,例如从 Docker for Mac 18.03.1 中我看到:
Linux a8e079429a51 4.9.87-linuxkit-aufs #1 SMP Wed Mar 14 15:12:16 UTC 2018 x86_64 Linux
您可以在发布页面上看到所包含版本的链接。https
://docs.docker.com/docker-for-mac/release-notes/
所以现在和以前没什么不同Docker Machine + VirtualBox + boot2docker
,
对于新的日子来说,它只是provisioning is done internally
“Docker [Desktop] for Mac” and VirtualBox is replaced by Apple's Hyperkit
和the "default VM" is a bit more tucked away
。
解决方案 2:
早期的 Docker 使用 VirtualBox 来运行 Docker 的虚拟机。从 2016 年 6 月开始,在 Mac 和 Windows 上运行 Docker 的方式变得更加简单,官方有针对 Mac/Windows 上 Docker 的发布介绍博客,docker mac 网站上也有一些介绍:
Docker for Mac 是一个完整的开发环境,与 MacOS Hypervisor 框架、网络和文件系统深度集成。
其结构如下:
解决方案 3:
Docker 使用 Apple 的 Hypervisor 框架:https://developer.apple.com/reference/hypervisor
有关去年 Docker 发布时的更多内容,请访问:https ://blog.docker.com/2016/05/docker-unikernels-open-source/
- 2024年20款好用的项目管理软件推荐,项目管理提效的20个工具和技巧
- 2024年开源项目管理软件有哪些?推荐5款好用的项目管理工具
- 项目管理软件有哪些?推荐7款超好用的项目管理工具
- 项目管理软件哪个最好用?盘点推荐5款好用的项目管理工具
- 项目管理软件有哪些最好用?推荐6款好用的项目管理工具
- 项目管理软件有哪些,盘点推荐国内外超好用的7款项目管理工具
- 2024项目管理软件排行榜(10类常用的项目管理工具全推荐)
- 项目管理软件排行榜:2024年项目经理必备5款开源项目管理软件汇总
- 2024年常用的项目管理软件有哪些?推荐这10款国内外好用的项目管理工具
- 项目管理必备:盘点2024年13款好用的项目管理软件