如何在 MacOS 上不使用 Docker Desktop 使用 Docker

2025-06-04

如何在 MacOS 上不使用 Docker Desktop 使用 Docker

前言

我认为很多大型软件团队都对 Docker Desktop 的 Docker许可变更感到困惑。我知道这对我来说很震惊,因为我之前所在的公司团队规模比整个组织还要大。Docker Desktop 的设置流程对于大多数用户来说都极其简单,可以配置容器。

我目前公司的方向是迁移到Podman,别误会,这没问题,而且作为 Docker Desktop 的快速替代品确实有效。然而,我发现它需要进行大量繁琐的更改和额外的设置,最终我很难让 AWS SAM 正常工作,而这正是我的主要目标。它也并没有完全达到我所宣传的“Docker 替代品”的水平。

值得注意的是,许可变更仅影响 Docker Desktop 产品,CLI 界面对所有用户仍然免费。

指示

唯一的先决条件是 Homebrew,如果您尚未安装,您可以在其页面上找到说明

首先,您需要安装 Docker 和凭证助手。凭证助手允许您使用 macOS Keychain 而不是 Docker Desktop 作为远程容器仓库的凭证存储。

brew install docker docker-credential-helper
Enter fullscreen mode Exit fullscreen mode

稍后您可能会遇到 Docker CLI 抛出“docker-credential-desktop 未安装”的错误,这是由于配置错误(可能是由于先前安装的 Docker Desktop 导致的)。您可以通过执行以下操作来纠正此问题。

nano ~/.docker/config.json

{
        "auths": {},
        "credsStore": "osxkeychain",
        "currentContext": "colima"
}
Enter fullscreen mode Exit fullscreen mode

您的当前上下文可能尚未设置为科利马,但是,需要更新的重要内容是credStore

接下来,我们需要安装 Colima。Colima 是一个支持 Docker(和 containerd)的容器运行时。您可以在其 GitHub上了解更多信息。

brew install colima
Enter fullscreen mode Exit fullscreen mode

安装完成后,您需要做的就是启动 Colima VM。

colima start
Enter fullscreen mode Exit fullscreen mode

现在一切就绪!您可以通过运行来测试一切是否已正确连接。其中*表示活动上下文。

docker context ls
# this will return a list of docker socket configurations, example below

NAME       DESCRIPTION                               DOCKER ENDPOINT                                             KUBERNETES ENDPOINT                    ORCHESTRATOR
colima *   colima                                    unix:///Users/{you}/.colima/default/docker.sock                                          
default    Current DOCKER_HOST based configuration   unix:///var/run/docker.sock                                 https://192.168.64.3:16443 (default)   swarm
Enter fullscreen mode Exit fullscreen mode

针对更顽固应用程序的解决方案

尽管我们已配置好所有内容,但某些应用程序(例如 AWS SAM)仍会尝试直接连接到 Docker 套接字,而/var/run/docker.sock不是遵循当前上下文的活动配置。因此,我们需要设置一个符号链接,将 Colima 套接字指向预期的 Docker 套接字位置。

# as /var/ is a protected directory, we will need sudo
sudo ln ~/.colima/default/docker.sock /var/run

# we can verify this has worked by running
ls /var/run
# and confirming that docker.sock is now in the directory

Enter fullscreen mode Exit fullscreen mode

一旦建立此链接,您就可以自由使用那些比较顽固的应用程序。需要注意的是,如果您停止 Colima VM(容器运行时),您可能会丢失此符号链接,并且需要重新链接才能继续使用这些应用程序。

我希望这能帮助您为开发设置设置 Docker,并为您提供最熟悉的体验(我的意思是,使用官方 Docker CLI 是最接近的体验,对吗?)。

文章来源:https://dev.to/elliotalexander/how-to-use-docker-without-docker-desktop-on-macos-217m
PREV
使用 Framer Motion 滚动显示
NEXT
创建一个令人毛骨悚然的网站