Skip to content

安装与环境

目标:在三端(macOS / Windows / Linux)装上纯命令行 Docker,并跑通 hello-world。 不安装 Docker Desktop。

macOS(Colima)

Colima 是一个用 Lima 虚拟机跑容器运行时的轻量方案,是 macOS 上 Docker Desktop 的主流替代品。

前置

  • 已安装 Homebrew
  • Apple Silicon(M 系列)与 Intel 均支持。

安装

bash
brew install colima docker docker-compose
  • colima:提供容器运行时(虚拟机)。
  • docker:Docker CLI 客户端(命令行)。
  • docker-compose:Compose v2 插件(命令为 docker compose)。

启动 Colima

bash
# 默认配置启动(2 CPU / 2GB 内存 / 60GB 磁盘)
colima start

# 自定义配置(推荐按机器规格调整)
colima start --cpu 4 --memory 8 --disk 100

# 完整示例:指定架构、磁盘与运行时
colima start --cpu 4 --memory 8 --disk 100 --arch aarch64

常用参数:

参数说明默认
--cpuCPU 核数2
--memory内存(GB)2
--disk磁盘大小(GB)60
--arch架构(aarch64 / x86_64)自动
--runtime容器运行时(docker / containerd)docker
--kubernetes附带启动 Kubernetes关闭

验证与日常命令

bash
docker version          # Client 与 Server 都应显示
docker run --rm hello-world

# Colima 生命周期管理
colima status           # 查看状态
colima stop             # 停止虚拟机(释放资源)
colima start            # 再次启动
colima restart          # 重启
colima delete           # 删除虚拟机(连同数据)
colima ssh              # 进入虚拟机(排查底层问题)

Docker CLI 会自动切换到 colima 上下文;
若连接异常,手动执行 docker context use colima

Windows(WSL2)

在 WSL2 的 Ubuntu 发行版内安装原生 Docker Engine,无需 Docker Desktop。

安装 WSL2 + Ubuntu

PowerShell(管理员) 中:

powershell
# 安装 WSL2(自动启用虚拟机平台等组件)
wsl --install

# 或显式指定发行版
wsl --install -d Ubuntu

# 重启后,验证
wsl -l -v
# 应显示 NAME: Ubuntu  VERSION: 2

若已装 WSL 但版本是 1,升级到 2:

powershell
wsl --set-version Ubuntu 2
wsl --set-default-version 2

在 Ubuntu 内安装 Docker Engine

进入 Ubuntu(PowerShell 中执行 wsl 或使用 Windows Terminal),然后:

bash
# 1. 安装依赖
sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg

# 2. 添加 Docker 官方 GPG 密钥与源
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo $VERSION_CODENAME) stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 3. 安装 Docker Engine 与 Compose 插件
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io \
  docker-buildx-plugin docker-compose-plugin

# 4. 将当前用户加入 docker 组(免 sudo)
sudo usermod -aG docker $USER
# 退出重进 WSL 后生效(或 newgrp docker)

启动 dockerd(关键步骤)

WSL2 不会自动启动 Docker 守护进程,需要手动启动:

bash
# 方式一:前台启动(调试用)
sudo dockerd

# 方式二:后台启动
sudo service docker start          # 若支持 service
sudo dockerd > /tmp/dockerd.log 2>&1 &   # 通用后台方式

推荐:启用 systemd 实现开机自启,编辑 /etc/wsl.conf

ini
[boot]
systemd=true

保存后回到 PowerShell 执行 wsl --shutdown 再重进 Ubuntu,然后:

bash
sudo systemctl enable --now docker
sudo systemctl status docker

验证

bash
docker version
docker run --rm hello-world

资源限制(可选)

在 Windows 用户目录 C:\Users\<你>\.wslconfig 中限制 WSL2 资源:

ini
[wsl2]
memory=8GB
processors=4
swap=4GB

修改后 wsl --shutdown 重启生效。

Windows 侧提醒:把项目放在 WSL 内(~/ 下)性能最好,跨文件系统(/mnt/c)挂载会明显变慢。

Linux(原生)

以 Ubuntu/Debian 为例,与上文 WSL2 内的安装步骤完全一致(因为 WSL2 里就是 Ubuntu)。

一键脚本(适合快速体验)

bash
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USER

或按官方 apt 源安装

bash
sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo $VERSION_CODENAME) stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo usermod -aG docker $USER

启动与自启

bash
sudo systemctl enable --now docker
sudo systemctl status docker

其他发行版(RHEL/CentOS 用 dnf、Arch 用 pacman 等)请参考 官方文档

配置镜像加速(中国大陆可选)

拉取 Docker Hub 镜像慢时,配置国内镜像源(以 Linux/WSL2 为例,macOS Colima 略有不同):

bash
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<'EOF'
{
  "registry-mirrors": ["https://mirror.example.com"]
}
EOF
sudo systemctl restart docker   # macOS: colima restart

镜像加速地址可能变动或失效,请自行搜索当前可用的公共镜像源;生产环境建议使用私有仓库或代理。

卸载

bash
# Linux / WSL2 内
sudo apt-get purge -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo rm -rf /var/lib/docker /etc/docker

# macOS
colima delete
brew uninstall colima docker docker-compose

安装后自检清单

bash
docker version            # ① 客户端与服务端都在
docker info               # ② 服务端详情(存储驱动、运行时等)
docker run --rm hello-world   # ③ 能拉取并运行镜像
docker context ls         # ④ 当前上下文正确(colima 或 default)