Windows无法原生运行Docker Engine因其依赖Linux内核特性,必须通过WSL2在Ubuntu等发行版中安装原生docker-ce,配置systemd自启、用户组权限及国内镜像源后,可实现轻量高效、贴近生产的容器环境。
windows 系统上不直接安装原生 docker engine(即 dockerd 守护进程),因为 windows 本身不是 linux 内核环境,而 docker engine 原生依赖 linux 内核特性(如 cgroups、namespaces)。但你可以通过 wsl2(windows subsystem for linux 2)在 windows 上运行真正的 linux 内核,并在其 ubuntu/debian 等发行版中完整安装并运行原生 docker engine —— 这是目前最干净、高效、贴近生产环境的方式。
确认前提:已启用并配置好 WSL2
这是必要基础,Docker Engine 必须运行在 WSL2 的 Linux 发行版内部:
- 确保 Windows 版本为 Win10 2004(19041)或 Win11 22H2(22621)及以上,64 位系统
- 已在 BIOS 中开启 CPU 虚拟化(VT-x / AMD-V)
- 已通过管理员 PowerShell 执行启用命令:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestartdism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart - 已下载并安装 WSL2 内核更新包(https://www.php.cn/link/374d383550f673cead5c903caca73d6f)
- 已执行
wsl --set-default-version 2,并安装了 Ubuntu(推荐 22.04 或 24.04) - 能正常运行
wsl -l -v查看 WSL2 发行版状态,且状态为 Running
在 WSL2 Ubuntu 中安装原生 Docker Engine
打开你的 Ubuntu 终端(例如从开始菜单启动 Ubuntu),按顺序执行以下命令:
- 更新系统包索引:
sudo apt update - 卸载可能存在的旧版 Docker(避免冲突):
sudo apt remove docker docker-engine docker.io containerd runc - 安装依赖项:
sudo apt install -y ca-certificates curl gnupg lsb-release - 添加 Docker 官方 GPG 密钥:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg - 添加稳定版仓库源(适配 Ubuntu 版本):
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null - 再次更新并安装:
sudo apt update && sudo apt install -y docker-ce docker-ce-cli containerd.io
配置自启动与用户权限
让 Docker 在 WSL2 启动时自动运行,并允许当前用户免 sudo 使用:
- 启用并启动 Docker 服务:
sudo systemctl enable dockersudo systemctl start docker - 将当前用户加入
docker用户组:sudo usermod -aG docker $USER - 退出终端并重新进入(或执行
newgrp docker),使组权限生效 - 验证是否生效:
docker --version(应输出版本号)docker run hello-world(应成功拉取并运行容器)
可选但强烈建议:配置国内镜像加速
避免因网络问题导致镜像拉取失败或极慢:
- 创建或编辑守护进程配置文件:
sudo mkdir -p /etc/dockersudo nano /etc/docker/daemon.json - 填入国内镜像源(例如阿里云):
{ "registry-mirrors": ["https://xxx.mirror.aliyuncs.com"] }
(请替换xxx为你的阿里云容器镜像服务 ID,或使用清华、中科大等公开镜像地址) - 重启 Docker 服务:
sudo systemctl restart docker


















