背景是我有一个电脑,最近发现很多软件都用不了了,都需要重新编译。
想着拉一个docker镜像,后面代码都在docker镜像中编译就好。
sh
brew install docker colima
colima start
docker pull debian:12
下面是部分尝试的细节
sh
sudo docker image ls
Password:
failed to connect to the docker API at unix:///var/run/docker.sock; check if the path is correct and if the daemon is running: dial unix /var/run/docker.sock: connect: no such file or directory
这个报错的意思是:Docker 命令行工具找不到 Docker 守护进程,因为本机的 Docker 引擎根本没有运行。
详细解释
failed to connect... /var/run/docker.sock:
docker命令只是一个客户端,它需要通过一个名为docker.sock的通信接口与后台的守护进程(daemon)交互。现在系统提示找不到这个文件,说明后台没有 Docker 引擎在跑。- 回顾我们之前的对话 :
你通过brew install --formula docker安装的仅仅是客户端工具,它不包含服务端引擎。在 macOS 上,由于系统架构原因,不能原生运行 Docker 引擎,必须借助外部工具。
需要安装 colima 吗?
是的,非常推荐使用 Colima。
Colima 是目前 macOS 上非常流行且轻量级的 Docker 容器运行环境。它可以在后台默默运行一个 Linux 虚拟机,并提供 Docker 引擎支持。相比庞大的 Docker Desktop,它更省资源、启动更快。
你可以按照以下步骤操作:
1. 安装 Colima(通过 Homebrew)
bash
brew install colima
2. 启动 Colima
安装完成后,在终端执行以下命令启动它:
bash
colima start
注:第一次启动时,Colima 会下载所需的虚拟机镜像,可能需要几分钟,请耐心等待。默认情况下它会自动配置好环境,让现有的 docker 客户端能够直接连上。
3. 验证连接
看到 Colima 启动完成后,再次运行你的命令:
bash
sudo docker image ls
小提示:在 macOS 上使用 Docker 时,通常不需要 加 sudo,你可以直接运行 docker image ls。如果在 colima start 后仍然报错找不到 socket,你可以尝试重启终端,或者检查环境变量。
补充替代方案
如果你不想用 Colima,还有其他两种常见方式在 Mac 上获得 Docker 引擎:
- Docker Desktop :图形化界面,功能全但占内存大。安装命令:
brew install --cask docker - OrbStack :近年来新兴的极快、轻量级的 Docker Desktop 替代品,原生体验极佳。安装命令:
brew install --cask orbstack
如果你只是想在终端里敲命令跑容器,Colima 是当前最合适的选择。