Docker for Mac 是 Docker 公司的官方产品,专为在 macOS 上无缝运行 Docker 容器而设计,甚至支持 Kubernetes。下面是 Docker for Mac 的一些特性:

  • Docker for Mac 在 LinuxKit VM 中运行,最近换成了 Virtualization Framework。

  • 文件系统共享是利用一种名叫 OSXFS 的专有技术实现的。但如果需要访问大量文件,这个系统就太慢了(对,我说的就是 Node 和 PHP),因此我更看好一个新的方案:VirtioFS。

  • 网络基于 VPNKit。

  • 可以运行 Kubernetes。

  • 这是一款闭源产品,根据公司的规模可能还需要付费(“拥有超过 250 名员工或年收入超过 1000 万美元的公司”)。

在我看来,Docker for Mac 有两个有效的开源替代方案,二者都使用了 Lima,它们也有文件系统的常见问题,而且刚开始使用 VirtioFS:

  • Rancher 桌面版

  • Colima

所以,总结一下:

  • Docker 容器仍然是 Linux 进程,需要虚拟机才能在其他操作系统上运行。

  • Docker-cli 和 docker-compose 是原生二进制文件。

  • 由于 Docker 在虚拟机中运行,因此需要通过其他渠道来与虚拟机共享主机文件系统,我们可以在 OSXFS(专有且已弃用)、gRCP FUSE 或 VirtioFS 之间进行选择。这些技术都有一定的问题,我个人最看好 VirtioFS。

  • 如果想在 Mac 上运行 Docker 容器,你可以以在 Docker for Mac(闭源)、Rancher 桌面版(开源软件) 和 Colima(开源软件)之间进行选择。