WSL2 Ubuntu 24.04 安装Docker Engine

在 WSL2 Ubuntu 24.04 中安装原生 Docker Engine,完全免费无商业授权风险,且相比 Docker Desktop 资源占用更低、I/O 性能更强,同时提供与生产服务器一致的原生 Linux 环境,便于使用标准工具链调试和管理,确保本地开发与 CI/CD 流水线的高度一致性,适合追求高性能、高可控性及合规性的开发者与运维人员。


📋 一、WSL2 环境前置检查

Docker Engine 强依赖 systemd,WSL2 默认可能未开启。

1. 检查 systemd 状态:

ps -p 1 -o comm=
  • ✅ 输出 systemd​ → 直接进入第二步
    ❌ 输出 init​ 或其他 → 执行下方修复命令

2. 写入 systemd 启用配置:

sudo tee /etc/wsl.conf <<'EOF'
[boot]
systemd=true
EOF

3. 在 Windows PowerShell(非 WSL 终端) 中重启 WSL:

wsl --shutdown

4. 重新打开 Ubuntu 终端后再次验证:

ps -p 1 -o comm=

🧹 二、清理旧版本与冲突包

  1. 卸载可能冲突的旧版 Docker 相关包:
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove -y $pkg 2>/dev/null; done

2. 自动清理残留依赖:

sudo apt-get autoremove -y

3. 禁用 Ubuntu 24.04 自带的 DEB822 格式官方源文件(避免与后续配置的源冲突):

sudo mv /etc/apt/sources.list.d/ubuntu.sources /etc/apt/sources.list.d/ubuntu.sources.bak 2>/dev/null; echo "done"

🔑 三-A、使用 Docker 官方源安装

  • ⚠️ 适合网络畅通、能直连 download.docker.com​ 的用户,如果失败换用 三-B 方案
  1. 更新系统包索引(如果这一步卡住了,则换三-B方案):
sudo apt-get update

2. 安装基础依赖:

sudo apt-get install -y ca-certificates curl gnupg

3. 创建密钥存储目录:

sudo install -m 0755 -d /etc/apt/keyrings

4. 下载 Docker 官方 GPG 密钥:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

5. 设置密钥文件读取权限:

sudo chmod a+r /etc/apt/keyrings/docker.gpg

6. 添加 Docker 官方 APT 软件源:

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

7. 更新包索引并安装 Docker 全家桶:

sudo apt-get update && sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

🔑 三-B、使用阿里云镜像源安装

  • ✅ 适合国内网络环境,GPG 和软件包均走阿里云加速
  1. 更换为国内 Ubuntu 镜像源,在 WSL 终端中执行以下命令,将官方源替换为阿里云镜像:
sudo tee /etc/apt/sources.list <<'EOF'
deb https://mirrors.aliyun.com/ubuntu/ noble main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ noble main restricted universe multiverse

deb https://mirrors.aliyun.com/ubuntu/ noble-updates main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ noble-updates main restricted universe multiverse

deb https://mirrors.aliyun.com/ubuntu/ noble-backports main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ noble-backports main restricted universe multiverse

deb https://mirrors.aliyun.com/ubuntu/ noble-security main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ noble-security main restricted universe multiverse
EOF

2. 然后重新更新系统包索引:

sudo apt-get update

3. 安装基础依赖:

sudo apt-get install -y ca-certificates curl gnupg

4. 创建密钥存储目录:

sudo install -m 0755 -d /etc/apt/keyrings

5. 从阿里云下载 Docker GPG 密钥:

curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

6. 设置密钥文件读取权限:

sudo chmod a+r /etc/apt/keyrings/docker.gpg

7. 添加阿里云 Docker APT 软件源:

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

8. 更新包索引并安装 Docker 全家桶:

sudo apt-get update && sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

⚙️ 四、配置镜像加速与 WSL2 优化

  1. 创建 Docker 配置目录:
sudo mkdir -p /etc/docker

2. 写入 daemon.json(含 9 个镜像加速源 + overlay2 + 日志轮转),9个镜像源于2026.06.08测试可用:

sudo tee /etc/docker/daemon.json <<'EOF'
{
  "registry-mirrors": [
    "https://docker.1ms.run",
    "https://docker.m.daocloud.io",
	"https://docker.xuanyuan.me",
    "https://docker-0.unsee.tech",
    "https://lispy.org",
    "https://hub.rat.dev",
    "https://proxy.vvvv.ee",
    "https://registry.cyou",
    "https://docker.tbedu.top"

  ],
  "storage-driver": "overlay2",
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3"
  }
}
EOF

3. 重启 Docker 服务使配置生效:

sudo systemctl restart docker

👤 五、免 sudo 权限配置

  1. 将当前用户加入 docker 组:
sudo usermod -aG docker $USER

2. 刷新当前终端会话的组权限:

newgrp docker
  • ⚠️ newgrp docker​ 仅对当前终端生效,彻底生效需关闭并重新打开 WSL 终端。

✅ 六、全链路验证

  1. 验证 Docker 版本:
docker version

2. 验证 Docker 服务状态(应输出 active​):

systemctl is-active docker

3. 验证镜像加速源是否已加载:

docker info | grep -A 15 "Registry Mirrors"

4. 验证免 sudo 拉取及加速效果:

docker rmi nginx:latest 2>/dev/null; time docker pull nginx:latest

5. 验证容器正常运行:

docker run --rm hello-world

6. 验证 Compose 插件可用:

docker compose version
上一篇 Linux新增数据盘挂载
下一篇 conda配置虚拟环境
目录