前提条件
- 已安装WSL
- 已安装Ubuntu
PowerShell管理员运行,检查WSL环境状态
# 检查WSL版本
wsl -l -v
进入Ubuntu系统
wsl -d ubuntu20
# 检查系统信息
lsb_release -a
uname -a

更新系统包管理器
# 更新包索引
sudo apt-get update
# 安装必要的依赖包
sudo apt-get install -y apt-transport-https ca-certificates curl gnupg lsb-release
配置Docker镜像源
# 创建Docker仓库文件
sudo sh -c 'echo deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu noble stable > /etc/apt/sources.list.d/docker.list'
# 下载并添加Docker的GPG密钥
sudo sh -c 'curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/trusted.gpg.d/docker.gpg'
# 更新包索引
sudo apt-get update
安装Docker CE、Docker CLI 和containerd.io
# 安装Docker相关包
sudo apt-get install -y docker-ce docker-ce-cli containerd.io
配置iptables为legacy模式(WSL 1环境需要配置,WSL2忽略)
由于WSL 1环境不完全支持nftables,需要将iptables配置为legacy模式:
# 设置iptables为legacy模式
sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy
配置Docker镜像加速器
# 创建Docker配置目录
sudo mkdir -p /etc/docker
# 创建daemon.json配置文件
sudo tee /etc/docker/daemon.json <<EOF
{
"registry-mirrors": [
"https://docker.1panel.live",
"https://mirror.ccs.tencentyun.com",
"https://docker.m.daocloud.io"
]
}
EOF
启动Docker服务
# 启动Docker服务
sudo service docker start
# 检查Docker服务状态
sudo service docker status
配置Docker服务随系统启动(未配置)
# 将Docker启动命令添加到.bashrc
echo 'echo 160523 | sudo -S service docker start' >> ~/.bashrc
将当前用户添加到docker组,避免每次使用sudo(未配置)
# 将用户添加到docker组
sudo usermod -aG docker $USER
验证Docker安装
# 检查Docker版本
docker --version
# 检查Docker Compose版本
docker compose version
# 检查Docker信息
docker info
# 检查Docker服务状态
sudo service docker status
常用docker命令
# 启动Docker服务
sudo service docker start
# 停止Docker服务
sudo service docker stop
# 重启Docker服务
sudo service docker restart
# 查看Docker服务状态
sudo service docker status