mac下安装docker-cli
在 mac 上安装 Docker 时,很多人第一反应是直接安装 Docker Desktop。
但是有些场景下,我们其实并不需要完整的桌面客户端,只想要命令行,也就是只使用 docker CLI。
比如:
- 只想连接远程 Linux 服务器上的 Docker 服务
- 本地不想安装 Docker Desktop
- 希望用更轻量的方式在命令行里操作容器
这里介绍两种常见方式:
- 只安装
docker命令行工具 - 安装
dockerCLI,并配合colima在本机运行容器
一、先说明一下区别
docker 这个命令本身只是客户端,真正负责运行容器的是 Docker daemon。
在 Linux 上,通常是 Docker Engine 提供 daemon;
而在 mac 上,因为没有原生 Linux 容器运行环境,所以如果想在本机运行容器,一般还需要一个虚拟化运行环境。
所以:
- 如果你只是连接远程 Docker 主机,那么安装 CLI 就够了
- 如果你想在当前这台 Mac 上直接执行
docker run跑容器,那么除了 CLI,通常还要再配一个本地 runtime,比如colima
二、只安装 Docker CLI
如果你只是想保留命令行工具,不安装 Docker Desktop,可以直接通过 Homebrew 安装:
brew install docker |
安装完成后查看版本:
docker --version |
或者:
docker version |
如果当前还没有可连接的 Docker daemon,那么执行 docker version 时,通常会看到客户端信息,但服务端可能连接失败,这属于正常现象。
安装效果示意:
三、连接远程 Docker 主机
如果你的 Docker daemon 在远程 Linux 服务器上,那么本机只装 CLI 就可以了。
1. 直接通过环境变量连接
比如远程主机监听在:
tcp://192.168.1.10:2375 |
可以先设置:
export DOCKER_HOST=tcp://192.168.1.10:2375 |
然后执行:
docker ps |
2. 使用 docker context
相比直接写 DOCKER_HOST,docker context 更适合长期使用。
创建一个远程 context:
docker context create remote-server --docker "host=tcp://192.168.1.10:2375" |
切换到这个 context:
docker context use remote-server |
查看当前 context:
docker context ls |
这样后续直接执行 docker ps、docker images 就会作用在对应的远程主机上。
远程 context 使用示意:
四、如果想在本机运行容器,可以配合 colima
如果你不想安装 Docker Desktop,但又想在本机直接运行容器,那么一个常见做法是:
- 安装
docker - 安装
colima - 由
colima提供本地运行环境
1. 安装 colima
brew install colima |
2. 启动 colima
colima start |
colima 默认会使用 Docker runtime,启动成功后,docker CLI 就能直接连接到它。
3. 验证是否正常
docker version |
如果服务端信息也能正常显示,说明当前本机已经可以直接运行容器了。
再试一个简单例子:
docker run --rm hello-world |
如果输出欢迎信息,说明整套 CLI + 本地 runtime 已经可以正常工作。
本地通过 colima 运行容器示意:
五、常用命令
1. 查看当前 Docker context
docker context ls |
2. 切换 context
docker context use default |
或者:
docker context use remote-server |
3. 停止 colima
colima stop |
4. 重新启动 colima
colima start |
六、常见问题
1. 安装了 docker 但执行命令提示无法连接 daemon
这通常不是 CLI 没装好,而是当前没有可用的 Docker daemon。
可以按自己的场景检查:
- 是否打算连接远程 Docker 主机
- 是否已经设置
DOCKER_HOST - 是否已经切换到正确的
docker context - 如果是本机运行,是否已经执行
colima start
2. 我只安装 CLI,能不能直接在本机跑容器?
一般不行。
因为 mac 上只有 CLI 还不够,本地还需要一个实际运行容器的环境。colima、Docker Desktop 这类工具,本质上都是在帮你解决这个问题。
3. 只安装 CLI 有什么好处?
比较适合下面几类场景:
- 只连接远程服务器
- 本机不希望常驻桌面程序
- 希望安装更轻量
七、小结
如果你只是想在 mac 上使用 Docker 命令行,而不安装完整客户端,那么最简单的方式就是:
brew install docker |
如果只是连接远程 Docker 主机,到这里就够了。
如果还想在本机运行容器,又不想装 Docker Desktop,那么可以继续安装:
brew install colima |
这样就可以保留纯命令行的使用方式,同时又能在本机正常执行 docker run。
参考文章