· Docker 环境安装

Docker 环境安装

1458 字
7 分钟
Docker 环境安装
StarryLin/Geek · 摘要

Windows用WSL2加Docker Desktop,Ubuntu用apt装Docker CE;docker组等同root须慎用。

本文只记录操作流程与命令,覆盖两个平台的 Docker 环境搭建:Windows(Docker Desktop + WSL2)与 Ubuntu(Docker CE)。


一、Windows 平台#

1. 前置检查#

本文选择 Docker Desktop 的 WSL 2 后端;支持的 Windows 版本也可使用 Hyper-V 后端。具体系统、WSL 和硬件要求以官方安装页为准。先确认环境:

Terminal window
# 查看系统版本;不要把旧版 WSL 的最低构建号当成当前 Docker Desktop 支持要求
winver
# 查看 WSL 状态与版本
wsl --status
wsl -l -v

若未启用 WSL,以管理员身份打开 PowerShell 执行:

Terminal window
# 安装 WSL(默认 Ubuntu 发行版)
wsl --install
# 或仅启用相关功能后手动升级
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
# 设置 WSL 默认版本为 2
wsl --set-default-version 2
# 将已有发行版切换到 WSL2
wsl --set-version <发行版名称> 2

若提示内核组件过旧,需安装 Linux 内核更新包(wsl_update_x64.msi),或使用 wsl --update 在线更新。

重启系统后确认:

Terminal window
wsl -l -v # 目标发行版 VERSION 为 2;空闲时 STATE 为 Stopped 也正常

2. 安装 Docker Desktop#

  1. 访问 https://www.docker.com/products/docker-desktop/,下载 Docker Desktop for Windows(按 CPU 架构选择 x86_64 / ARM64)。
  2. 双击 Docker Desktop Installer.exe 运行。
  3. 安装界面勾选以下选项:
    • Use WSL 2 instead of Hyper-V(推荐)
    • Add shortcut to desktop
  4. 点击 Ok / Install,等待安装完成。
  5. 点击 Close and restart 重启系统。

命令行静默安装(可选):

Terminal window
Start-Process '.\Docker Desktop Installer.exe' -Wait -ArgumentList 'install', '--quiet', '--accept-license'

3. 首次启动与配置#

  1. 开始菜单启动 Docker Desktop,等待状态栏出现 “Docker Desktop is running”。
  2. Settings → General:确认勾选 Use the WSL 2 based engine。
  3. Settings → Resources → WSL Integration:开启 Enable integration with my default WSL distro,并选择需要集成的发行版。
  4. Settings → Docker Engine:可按需配置镜像加速器,例如:
{
"registry-mirrors": ["https://<your-mirror>.mirror.aliyuncs.com"]
}

点击 Apply & Restart。

4. 验证#

在 PowerShell 或 WSL 终端中:

Terminal window
docker version
docker info
docker run hello-world
docker run -it ubuntu:latest bash

5. 常用运维命令#

Terminal window
# 查看服务状态
Get-Service com.docker.service
# 停止 / 启动 Docker Desktop
docker desktop stop
Start-Process "C:\Program Files\Docker\Docker\Docker Desktop.exe"
# 清理磁盘占用(镜像、容器、构建缓存)
docker system prune -a --volumes
# 导出 WSL 发行版备份
wsl --export Ubuntu ubuntu_backup.tar

6. 卸载#

设置 → 应用 → Docker Desktop → 卸载,并清理残留目录:

Terminal window
Remove-Item -Recurse "$Env:APPDATA\Docker"
Remove-Item -Recurse "$Env:LOCALAPPDATA\Docker"
wsl --unregister docker-desktop
wsl --unregister docker-desktop-data

二、Ubuntu 平台#

1. 环境检查#

Terminal window
# 查看系统版本;使用当前 Docker Engine 官方支持的 Ubuntu 发行版
lsb_release -a
cat /etc/os-release
# 架构(x86_64 或 arm64)
dpkg --print-architecture
# 查看内核版本;不能只凭一个历史最低内核版本判断当前安装是否受支持
uname -r
uname -a
# 卸载冲突的旧版本
sudo apt remove -y docker.io docker-compose docker-compose-v2 docker-doc podman-docker containerd runc

2. 安装方式一:apt 仓库安装(推荐)#

Terminal window
# 更新索引并安装依赖
sudo apt update
sudo apt install -y ca-certificates curl gnupg lsb-release
# 添加 Docker 官方 GPG key
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 $(lsb_release -cs) stable" \
| sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 安装 Docker Engine
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# 安装指定版本
apt-cache madison docker-ce
VERSION_STRING=替换为上一步列出的完整版本字符串
sudo apt install -y docker-ce="$VERSION_STRING" docker-ce-cli="$VERSION_STRING" containerd.io docker-buildx-plugin docker-compose-plugin

3. 安装方式二:系统源快速安装#

Terminal window
sudo apt update
sudo apt install -y docker.io

4. 启动服务并设置开机自启#

Terminal window
sudo systemctl enable docker --now
sudo systemctl status docker
# 或
sudo service docker start
sudo service docker restart

5. 配置非 root 用户执行 docker#

Terminal window
# 将当前用户加入 docker 组
sudo usermod -aG docker $USER
# 或指定用户
sudo usermod -aG docker ubuntu
# 确认是否加入成功
getent group docker
id -nG
# 刷新组权限(无需重新登录)
newgrp docker
# 组成员变更不需要重启 Docker daemon;重新登录或 newgrp 后验证即可

退出当前 SSH 会话重新登录,然后验证:

Terminal window
docker ps
docker --version
docker run hello-world

注意:docker 组等价于 root 权限,生产环境应谨慎授权。

6. 配置镜像加速器(可选)#

Terminal window
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<'EOF'
{
"registry-mirrors": ["https://<your-mirror>.mirror.aliyuncs.com"],
"log-driver": "json-file",
"log-opts": { "max-size": "10m", "max-file": "3" }
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
docker info | grep -A5 "Registry Mirrors"

7. 基础操作命令#

镜像构建

Terminal window
docker build -t myimg:latest .
docker build -t myimg:latest -f Dockerfile.prod .

运行容器

Terminal window
docker run myimg
docker run --name myc1 myimg
docker run -dit --name myc1 ubuntu:latest
docker run -it --rm -p 3000:3000 -v $(pwd):/workspace myimg bash
docker ps
docker ps -a

镜像管理

Terminal window
docker images
docker pull ubuntu:latest
docker rmi myimg:latest
docker image prune -a

网络管理

Terminal window
docker network ls
docker network create mynet
docker network inspect mynet
docker run -d --network mynet --name web nginx
docker network rm mynet

提交容器为新镜像

Terminal window
docker commit <container_id> mynewimg
docker commit myc1 mynewimg
docker images

日志与清理

Terminal window
docker logs -f myc1
docker stop myc1 && docker rm myc1
docker system df
docker system prune -a --volumes

8. 卸载#

Terminal window
sudo apt purge -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo apt purge -y docker.io
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
sudo rm -f /etc/apt/sources.list.d/docker.list
sudo rm -f /etc/apt/keyrings/docker.gpg

三、两平台对照速查#

操作WindowsUbuntu
安装载体Docker Desktop 安装包(本文使用 WSL 2 后端)apt 安装 Docker CE
启动方式启动 Docker Desktop 应用sudo systemctl enable docker --now
权限配置无需额外配置sudo usermod -aG docker $USER + newgrp docker
配置文件Docker Desktop → Docker Engine/etc/docker/daemon.json
验证命令docker version / docker run hello-worlddocker version / docker ps
卸载系统应用卸载 + 清理 WSL 发行版apt purge + 删除 /var/lib/docker

四、常见问题#

  • Windows 提示 WSL2 未安装:执行 wsl --install 与 wsl --update,重启后再启动 Docker Desktop。
  • Windows 启动卡在 “Docker Desktop starting”:执行 wsl --shutdown 后重启,并检查 BIOS 是否开启虚拟化(任务管理器 → 性能 → CPU → 虚拟化)。
  • Ubuntu 报 permission denied while trying to connect to the Docker daemon socket:当前用户未加入 docker 组,执行 sudo usermod -aG docker $USER && newgrp docker。
  • Ubuntu 拉取镜像慢:配置 registry-mirrors 后 sudo systemctl restart docker。
  • 端口无法访问:确认容器做了端口映射 -p 宿主端口:容器端口,并检查防火墙放行。

核对资料#

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

Docker 环境安装
https://mjzy.tech/posts/docker/02-环境安装/
作者
JIA
发布于
2026-09-03
许可协议
CC BY-NC-SA 4.0

评论区

正在加载 GitHub 评论…

Tips · 随手记
仅自己可见 · 每篇文章单独保存

文章目录