Ubuntu 安装 Docker 完整指南
🐳 Ubuntu 安装 Docker 完整指南
适用系统:Ubuntu 20.04 / 22.04 / 24.04 (x86_64)
更新日期:2026-07-30
目录
- 前置检查
- 卸载旧版本(如有)
- 通过官方仓库安装(推荐)
- 安装 Docker Engine
- 启动并验证
- 非 root 用户运行 Docker
- 安装 Docker Compose(可选但推荐)
- 配置镜像加速(国内用户强烈推荐)
- 常用 Docker 命令速查
- 卸载 Docker
- 常见问题
1. 前置检查
# 查看系统版本
lsb_release -a
# 检查内核版本(需 >= 3.10)
uname -r
# 确保系统已更新
sudo apt update
sudo apt upgrade -y
硬件要求
| 项目 | 最低要求 | 推荐 |
|---|---|---|
| 内存 | 512 MB | 2 GB+ |
| 磁盘 | 1 GB 可用 | 10 GB+ |
| 内核 | 3.10+ | 5.x+ |
2. 卸载旧版本(如有)
如果之前装过旧版 Docker(如 docker.io, docker-engine),先清除:
sudo apt remove docker docker-engine docker.io containerd runc
旧版镜像、容器、卷不会自动删除,可稍后手动清理:
sudo rm -rf /var/lib/docker/
sudo rm -rf /var/lib/containerd/
3. 通过官方仓库安装(推荐)
3.1 安装依赖包
sudo apt update
sudo apt install -y ca-certificates curl gnupg lsb-release
3.2 添加 Docker 官方 GPG 密钥
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
# 如果官方源下载慢,可用中科大镜像
# curl -fsSL https://mirrors.ustc.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 APT 源
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
如果
. /etc/os-release; echo "$VERSION_CODENAME"返回的不是稳定版本名(如noble,jammy,focal),可以手动替换:
- Ubuntu 24.04 →
noble- Ubuntu 22.04 →
jammy- Ubuntu 20.04 →
focal
3.4 更新包索引
sudo apt update
如果报 GPG 错误,尝试安装
apt-transport-https:sudo apt install -y apt-transport-https
4. 安装 Docker Engine
# 安装最新版
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# 或安装指定版本(先查询可用版本)
# apt-cache madison docker-ce
# sudo apt install -y docker-ce=5:25.0.0-1~ubuntu.24.04~noble docker-ce-cli=5:25.0.0-1~ubuntu.24.04~noble containerd.io
5. 启动并验证
# 启动 Docker 服务
sudo systemctl start docker
# 设置开机自启
sudo systemctl enable docker
# 检查运行状态
sudo systemctl status docker
# 查看版本
docker --version
docker compose version
# 运行测试容器
sudo docker run hello-world
看到类似以下输出即安装成功:
Hello from Docker!
This message shows that your installation appears to be working correctly.
6. 非 root 用户运行 Docker
默认需要 sudo 才能运行 Docker。把当前用户加入 docker 组可免 sudo:
# 创建 docker 组(一般已存在)
sudo groupadd docker
# 将当前用户加入 docker 组
sudo usermod -aG docker $USER
# 使组变更生效(二选一)
newgrp docker # 当前终端生效
# 或重新登录 / 注销后重新 SSH
验证:
docker run hello-world
⚠️ 安全说明:
docker组等同于 root 权限。加入该组的用户有完整 Docker 控制权,仅授予可信用户。
7. 安装 Docker Compose(可选但推荐)
Docker Compose 用于定义和运行多容器应用。
方式一:Docker Compose Plugin(已随 docker-ce 安装)
docker compose version # 注意是 compose(无横杠)
方式二:独立二进制安装
# 下载最新版
DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
mkdir -p $DOCKER_CONFIG/cli-plugins
curl -SL https://github.com/docker/compose/releases/download/v2.29.0/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose
# 赋予执行权限
chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose
# 验证
docker compose version
📌 Docker Compose V2 使用
docker compose(空格),V1 使用docker-compose(横杠)。
8. 配置镜像加速(国内用户强烈推荐)
Docker 官方镜像下载慢,配置镜像加速器可以大幅提速。
创建/修改 daemon.json
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://docker.1ms.run",
"https://docker.xuanyuan.me",
"https://docker.m.daocloud.io"
]
}
EOF
以上镜像源可能随时间失效,如果发现拉取失败,可以搜索最新的可用镜像源替换。
重启 Docker 使配置生效
sudo systemctl daemon-reload
sudo systemctl restart docker
验证镜像加速是否生效
docker info | grep -A 5 "Registry Mirrors"
输出应显示配置的镜像地址。
9. 常用 Docker 命令速查
镜像管理
docker images # 列出本地镜像
docker pull nginx:latest # 拉取镜像
docker rmi nginx # 删除镜像
docker build -t myapp:1.0 . # 从 Dockerfile 构建镜像
容器管理
docker ps # 列出运行中的容器
docker ps -a # 列出所有容器(含已停止的)
docker run -d -p 8080:80 nginx # 后台运行 nginx,映射端口
docker stop <容器ID> # 停止容器
docker start <容器ID> # 启动已停止的容器
docker rm <容器ID> # 删除容器
docker logs -f <容器ID> # 查看容器日志(持续跟踪)
docker exec -it <容器ID> bash # 进入容器终端
系统管理
docker info # Docker 系统信息
docker system df # 磁盘占用
docker system prune -a # 清理所有未使用的镜像/容器/网络
Docker Compose
docker compose up -d # 后台启动所有服务
docker compose down # 停止并移除所有容器
docker compose logs -f # 查看所有服务日志
docker compose ps # 查看服务状态
docker compose restart # 重启所有服务
10. 卸载 Docker
如需完全卸载 Docker:
# 卸载 Docker 包
sudo apt purge -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
# 删除镜像、容器、卷等(⚠️ 不可恢复)
sudo rm -rf /var/lib/docker/
sudo rm -rf /var/lib/containerd/
# 删除配置和源
sudo rm -rf /etc/docker
sudo rm /etc/apt/sources.list.d/docker.list
sudo rm /etc/apt/keyrings/docker.gpg
# 删除 docker 组(可选)
sudo groupdel docker
11. 常见问题
Q: permission denied 无法连接 Docker 守护进程?
原因:当前用户不在 docker 组,或 Docker 服务未运行。
解决:
# 确保服务运行
sudo systemctl start docker
# 或使用 sudo 运行
sudo docker ps
# 或加入 docker 组(见第 6 节)
sudo usermod -aG docker $USER
Q: 拉取镜像超时 / 非常慢?
原因:国内访问 Docker Hub 受限。
解决:配置镜像加速器(见第 8 节)。
Q: Cannot connect to the Docker daemon?
# 检查服务状态
sudo systemctl status docker
# 启动服务
sudo systemctl start docker
# 如果是 WSL2 环境,尝试
sudo service docker start
Q: WSL2 上 Docker 注意事项?
如果你是在 WSL2 (Windows Subsystem for Linux) 上安装:
- 推荐方案:Windows 上安装 Docker Desktop(启用 WSL2 后端),然后在 WSL2 Ubuntu 中直接使用
- 纯 WSL2 方案:按本指南直接安装 Docker Engine
- 确保 WSL2 内核是最新的:
wsl --update(Windows 端执行) - Docker 服务需手动启动:
sudo service docker start(如需开机自启,加到.bashrc)
附录:安装脚本(一键安装)
如果你只需要快速安装,可以运行 Docker 官方一键脚本:
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
⚠️ 一键脚本适合快速安装,但不够透明。生产环境建议用 APT 仓库安装。
参考链接
更多推荐


所有评论(0)