Skip to content

docker ​

为什么安装docker 推荐 brew install colima docker docker-compose,而不是 brew install --cask docker

1. 避免 Docker Desktop 的资源消耗 ​

Docker Desktop 虽然功能全面,但后台运行着一个完整的 LinuxKit 虚拟机,加上 GUI 进程,在低配 Mac(如 8GB 内存)上可能会明显拖慢系统。Colima 只启动一个极简的 Alpine Linux 虚拟机,内存占用通常在 1GB 以内,CPU 开销也小得多。

2. 远离许可证烦恼 ​

Docker Desktop 针对“大型企业”(年收入超过 1000 万美元或员工超过 250 人)不再免费,需要购买订阅。而 Colima 没有任何商业限制,适合公司内使用或担心合规问题的开发者。

3. 更贴近 Linux 原生体验 ​

Colima 默认使用 containerd 作为容器运行时,这是 Kubernetes 社区使用的主流运行时,比 Docker 自带的运行时更轻、更标准。如果你未来会接触 containerd,提前熟悉会很有帮助。当然你也可以让 Colima 使用 Docker 运行时(colima start --runtime docker),灵活切换。

4. 完全的 CLI 工作流 ​

对于习惯终端操作、不希望鼠标点来点去的开发者,Colima 方案“没有图形界面干扰”反而是优点。所有配置、启动、停止、重置都可以用命令完成,也更容易写进自动化脚本。

5. 启动速度惊人 ​

colima start 在 Apple Silicon 上经常 3~5 秒就完成 VM 启动并让 docker 命令可用,而 Docker Desktop 冷启动往往需要 20~30 秒。频繁开关时体验差距明显。

纯命令行方案:Colima + Docker CLI ​

这个方案通过 brew 安装,完全在终端里操作,没有图形界面,非常轻量。

1. 核心步骤 ​

  • 安装:这个方案需要一个运行Linux的轻量级虚拟机(VM)来提供Docker所需的运行环境。Colima就是用来创建和管理这个VM的。

    bash
    # 安装 Colima 和 Docker CLI 及 Docker Compose
    brew install colima docker docker-compose

    注意:这里 brew install docker 安装的只是命令行工具,不是 Docker Desktop 的完整版,所以不用担心会装上图形界面。

  • 启动:用下面这条命令启动 Colima,它会在后台自动创建并运行一个 Linux 虚拟机,然后配置好 Docker 环境。

    bash
    colima start
  • 安装后验证(所有方案通用)

无论选择哪种安装方式,都建议通过以下命令检查是否成功。

1)打开“终端” (Terminal)。

2)查看版本信息:

bash
docker --version
# 应输出类似 'Docker version 24.0.7, build...' 的信息
docker-compose --version
# 应输出类似 'Docker Compose version v2.23.3-desktop.2' 的信息

3)运行测试容器:

bash
docker run hello-world

这会下载一个测试镜像并运行一个输出欢迎信息的容器。如果你能看到类似 “Hello from Docker!” 的输出,就代表 Docker 已成功运行

2. 资源与优势 ​

  • 轻量高效:相比 Docker Desktop,Colima 的资源占用非常低。
  • 高度可配置:启动时可以设置虚拟机的资源,比如 colima start --cpu 4 --memory 8 --disk 100分别指定了 CPU 核心数、内存大小(GB)和磁盘空间(GB)。这对需要自定义开发环境的开发者来说非常友好。
  • 灵活切换运行时:通过 --runtime 参数,你还可以在 docker 和 containerd 之间切换,后者是更现代、更工业化的容器运行时

我们用 colima 命令和标准的 docker 命令就能完成这些操作。

🛠️ 具体操作命令速查 ​

操作命令说明
🔍 查看状态colima status显示 Colima 虚拟机是 Running 或 Stopped 状态。如未安装 Docker 客户端,输出可能提示 not found。
🚀 启动环境colima start启动 Colima 虚拟机、Docker 守护进程及 Kubernetes (如果启用)。
⏹️ 停止环境colima stop停止 Colima 虚拟机,这也会停止其内的 Docker 守护进程和所有运行中的容器。
🔄 重启环境colima restart先停止再启动 Colima 虚拟机,等同于 colima stop 后再 colima start。
🔑 进入虚拟机colima ssh登录到运行容器服务的 Linux 虚拟机内部,方便进行高级调试。
⚙️ 资源微调colima start --cpu 4 --memory 8 --disk 100首次或重新启动时,可自定义分配 CPU、内存 (GB) 和磁盘 (GB) 资源。
🗑️ 删除环境colima delete彻底删除整个 Colima 环境,包括其虚拟机、所有配置以及内部存储的所有容器和镜像。

💡 核心要点提醒 ​

  • docker 命令是操作入口:Colima 是幕后支持者,日常管理容器时,使用 docker ps、docker stop等熟悉的 docker 命令即可。
  • 区分停止命令:docker stop <容器名> 只停止单个容器,而 colima stop 则是关闭整个 Docker 环境。
  • 查看完整帮助:若忘记命令,随时运行 colima --help 获取帮助。

配置镜像加速器 ​

1. 彻底删除现有 Colima(包括所有配置和数据) ​

bash
colima delete -f

执行后,~/.colima/default/ 目录会被清空。

2. 重新启动 Colima(生成默认配置文件) ​

bash
colima start

这一步会创建一份全新的 ~/.colima/default/colima.yaml,没有重复项。

3. 停止 Colima,准备编辑配置 ​

bash
colima stop

4. 用编辑器打开配置文件,并添加镜像加速 ​

bash
vim ~/.colima/default/colima.yaml

用 vim(或你喜欢的编辑器)打开 ~/.colima/default/colima.yaml,找到你展示的那一段:

yaml
# Colima default behaviour: buildkit enabled
# Default: {}
docker: {}

把 docker: {} 替换为下面的内容(注意缩进和格式):

yaml
# Colima default behaviour: buildkit enabled
# Default: {}
docker:
  registry-mirrors:
    - https://docker.m.daocloud.io
    - https://docker.1panel.live
    - https://hub.rat.dev

注意:

  • docker: 必须顶格(前面没有空格)。
  • registry-mirrors: 前面空两格。
  • 每个镜像地址前面空四格,并以 - 开头。

如果你不确定具体位置,可以直接在文件末尾添加以下内容(但是注意不要重复已有的 docker: 块)。更简单的方法:搜索 docker:,如果找到一行 docker:,就在它的下面添加 registry-mirrors: 列表。如果没有找到 docker: 这一行,就在 runtime: docker 的下面新起一行,写上 docker: 和子项。

为了确保万无一失,你可以直接把整个配置文件清空,然后写入以下最小可用的配置(根据你之前的 colima.yaml 片段修改而来):

注意:不要完全删除原有配置中的所有行(如 kubernetes、provision 等),否则可能启动失败。建议只修改 docker: 部分,其他保持原样。

5. 保存并退出,然后启动 Colima ​

bash
colima start

6. 验证镜像加速是否生效 ​

bash
docker info | grep -A 5 "Registry Mirrors"

应该会列出你配置的镜像地址。

7. 拉取 qdrant/qdrant ​

bash
docker pull qdrant/qdrant