mac下安装docker-cli

在 mac 上安装 Docker 时,很多人第一反应是直接安装 Docker Desktop。

但是有些场景下,我们其实并不需要完整的桌面客户端,只想要命令行,也就是只使用 docker CLI。

比如:

  • 只想连接远程 Linux 服务器上的 Docker 服务
  • 本地不想安装 Docker Desktop
  • 希望用更轻量的方式在命令行里操作容器

这里介绍两种常见方式:

  • 只安装 docker 命令行工具
  • 安装 docker CLI,并配合 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_HOSTdocker 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 psdocker 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
colima start

这样就可以保留纯命令行的使用方式,同时又能在本机正常执行 docker run

参考文章