在WSL 上安装 Docker
在 Ubuntu 22.04 WSL 上安装 Docker 和 Docker Compose 是为开发环境准备的一步。Docker 提供了轻量级的容器化技术,Docker Compose 则可以管理多个容器。本文将介绍如何在 Ubuntu 22.04 WSL 环境下使用清华源安装 Docker 和 Docker Compose。
1. 删除已安装的 Docker(如有)
如果你之前安装过 Docker,请首先清除旧版本:
for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done
2. 安装依赖包
在开始安装 Docker 前,需要确保安装了一些依赖包:
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
3. 添加 Docker GPG 公钥并配置清华源镜像
为了加速国内的 Docker 下载,可以使用清华源镜像。
3.1 创建 /etc/apt/keyrings 目录
sudo install -m 0755 -d /etc/apt/keyrings
3.2 添加 Docker GPG 公钥
sudo curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
3.3 添加 Docker 仓库地址
使用 echo 命令将清华源地址添加到 Docker 仓库源列表:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
4. 安装 Docker
更新软件包列表并安装 Docker:
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
5. 启动并测试 Docker
安装完成后,启动 Docker 并测试是否安装成功:
sudo systemctl start docker
docker --version
你应该看到类似于以下输出:
Docker version 27.3.1, build ce12230
6. 安装 Docker Compose
在 Docker Compose V2 中,docker compose 已取代了旧版的 docker-compose 命令。你可以通过以下命令直接使用 Docker Compose:
docker compose --version
如果你看到类似以下输出,说明 Docker Compose 已正确安装:
Docker Compose version v2.29.7
7. 将用户添加到 Docker 组(可选)
默认情况下,Docker 需要 sudo 权限运行。如果你想在不使用 sudo 的情况下运行 Docker,可以将当前用户添加到 Docker 组:
sudo usermod -aG docker $USER
注销并重新登录以应用权限更改。
可能遇到的问题及解决方案
1. 权限问题:Permission denied 错误
如果在安装过程中遇到文件创建或修改时提示权限不足,比如:
gpg: can't create '/etc/apt/keyrings/docker.gpg': Permission denied
解决方法:
确保使用 sudo 提升权限,尤其是在使用命令创建或修改系统目录下的文件时。可以尝试在命令前加上 sudo:
sudo curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
2. 网络问题:无法连接到 download.docker.com
如果在下载 GPG 公钥时出现网络问题:
curl: (35) OpenSSL SSL_connect: Connection reset by peer in connection to download.docker.com:443
解决方法:
使用国内的镜像源,如清华源来加速下载和安装:
sudo curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
通过以上步骤,你就成功在 Ubuntu 22.04 WSL 上安装了 Docker 和 Docker Compose,并解决了常见的安装问题。Docker 和 Docker Compose 是现代开发环境中非常有用的工具,可以大大提高工作效率。