介绍
>本文由 简悦 SimpRead 转码, 原文地址 dev.to
>在我们的对话中,我们讨论了在 macOS 上运行 Docker 而不依赖 Docker Desktop 的可行性……
在我们的对话中,我们探讨了在 macOS 上运行 Docker 而不依赖 Docker Desktop 的可行性,并分析了为什么在 Ubuntu 上单独使用 Docker CLI 就足够,而 macOS 则不行。以下是详细总结:
为什么 macOS 上 Docker Desktop 不是必需的
虽然 Docker Desktop 为在 macOS 上运行 Docker 提供了一体化的解决方案,但它并不是使用 Docker 的唯一方式。你可以利用其他工具达到相同的效果。Docker Desktop 因其易用性和集成性而受欢迎,但如果你不想使用它,还有其他方法可用。
不使用 Docker Desktop 使用 Docker
-
安装 Docker CLI:
- 在 macOS 上,可以使用 Homebrew 安装 Docker CLI:
brew install docker -
运行 Docker 守护进程:
- 由于 macOS 原生不支持 Docker 依赖的 Linux 内核特性,你需要一个轻量级虚拟机(VM)来运行 Docker 守护进程。
- Colima:其中一个工具是 Colima,可以通过 Homebrew 安装:
brew install colima
-
安装后,启动 Colima 以启动 Docker 守护进程:
colima start
-
使用 Docker CLI:
- Colima 运行后,你可以使用 Docker CLI 来管理容器:
docker run hello-world
为什么 Docker CLI 在 Ubuntu 上单独可用
Docker 能在 Ubuntu 上开箱即用,仅需 CLI,是因为:
- Linux 内核:Ubuntu 运行于 Linux 内核,原生支持 Docker 所需的命名空间和控制组(cgroups)等特性。
- Docker 守护进程:在 Ubuntu 中,Docker CLI 直接与运行在同一 Linux 内核上的 Docker 守护进程通信,省去了虚拟机的需求。
macOS 与 Ubuntu 的差异
- 内核差异:macOS 使用基于 BSD 的 Darwin 内核,缺少对 Docker 容器化技术的原生支持。
- 虚拟机需求:为此,macOS 使用虚拟机(通过 Docker Desktop 或 Colima 等替代方案)提供 Linux 环境以运行 Docker。
结论
总而言之,虽然 Docker Desktop 简化了在 macOS 上运行 Docker 的流程,但它并非不可或缺。通过使用诸如 Colima 这样的替代工具,你可以在不使用 Docker Desktop 的情况下搭建 Docker 环境。理解 macOS 与基于 Linux 的系统(如 Ubuntu)之间的内核差异,可以解释为何 macOS 需要额外步骤才能高效运行 Docker。
Self-Host Your Observability Stack
掌控您的数据和隐私。借助 Highlight.io,您可以自托管完整的观测堆栈,实现全面可见性,同时不牺牲安全性或合规性。
监控、调试和优化——由您掌控。
今天就开始使用 Highlight.io 自托管。
