Docker & Docker Compose 安装方案
本文档提供了在Ubuntu 22.04 LTS系统上安装Docker和Docker Compose的详细方案。采用官方APT仓库安装,包含docker-ce、docker-ce-cli、containerd.io等核心组件。配置了生产级参数:overlay2存储驱动、日志轮转限制(100MB/文件)、开机自启等。安装步骤包括卸载旧版本、添加GPG密钥、设置APT仓库、安装组件、配置Daemon等。
·
Docker & Docker Compose 安装方案
1. 环境信息
| 项目 | 值 |
|---|---|
| 操作系统 | Ubuntu 22.04.1 LTS (Jammy) |
| 内核版本 | 5.15.0-164-generic |
| 存储位置 | /var/lib/docker (根分区,282G可用) |
| 文件系统 | XFS |
2. 安装方案概述
2.1 安装方式
采用 Docker 官方 APT 仓库安装,确保获取最新稳定版本和安全更新。
2.2 安装组件
| 组件 | 说明 |
|---|---|
| docker-ce | Docker Engine 社区版 |
| docker-ce-cli | Docker 命令行工具 |
| containerd.io | 容器运行时 |
| docker-buildx-plugin | 构建扩展插件 |
| docker-compose-plugin | Docker Compose V2 插件 |
2.3 生产级配置
| 配置项 | 设置 | 说明 |
|---|---|---|
| 存储驱动 | overlay2 | Ubuntu 默认,性能最优 |
| 日志驱动 | json-file | 默认驱动,配置轮转限制 |
| 日志大小限制 | 100MB/文件,3个文件 | 防止日志占满磁盘 |
| 开机自启 | 启用 | systemd 管理 |
| 用户权限 | 当前用户加入 docker 组 | 免 sudo 运行 |
| 镜像加速 | 国内镜像源 | 加速镜像拉取 |
3. 实施步骤
3.1 卸载旧版本(如有)
sudo apt-get remove -y docker docker-engine docker.io containerd runc 2>/dev/null || true
3.2 安装依赖包
sudo apt-get update
sudo apt-get install -y \
ca-certificates \
curl \
gnupg \
lsb-release
3.3 添加 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
sudo chmod a+r /etc/apt/keyrings/docker.gpg
3.4 添加 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
3.5 安装 Docker Engine
sudo apt-get update
sudo apt-get install -y \
docker-ce \
docker-ce-cli \
containerd.io \
docker-buildx-plugin \
docker-compose-plugin
3.6 配置 Docker Daemon(生产级配置)
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json > /dev/null <<EOF
{
"log-driver": "json-file",
"log-opts": {
"max-size": "100m",
"max-file": "3"
},
"storage-driver": "overlay2",
"live-restore": true,
"registry-mirrors": [
"https://docker.1ms.run",
"https://docker.xuanyuan.me"
]
}
EOF
配置说明:
| 参数 | 说明 |
|---|---|
| log-driver | 日志驱动,json-file 为默认 |
| max-size | 单个日志文件最大 100MB |
| max-file | 最多保留 3 个日志文件 |
| storage-driver | 存储驱动,overlay2 性能最优 |
| live-restore | 容器在 daemon 重启时保持运行 |
| registry-mirrors | 国内镜像加速器地址 |
3.7 启动 Docker 并设置开机自启
sudo systemctl daemon-reload
sudo systemctl enable docker
sudo systemctl start docker
3.8 配置用户权限
sudo usermod -aG docker $USER
注意: 执行后需要重新登录或执行
newgrp docker使权限生效。
3.9 验证安装
# 检查 Docker 版本
docker --version
# 检查 Docker Compose 版本
docker compose version
# 检查 Docker 服务状态
sudo systemctl status docker
# 运行测试容器
docker run --rm hello-world
4. 验证清单
| 检查项 | 预期结果 | 命令 |
|---|---|---|
| Docker 版本 | 显示版本号 | docker --version |
| Compose 版本 | 显示版本号 | docker compose version |
| 服务状态 | active (running) | systemctl status docker |
| 开机自启 | enabled | systemctl is-enabled docker |
| 用户权限 | 免 sudo 运行 | docker ps |
| 存储驱动 | overlay2 | docker info | grep "Storage Driver" |
| 测试容器 | Hello from Docker! | docker run --rm hello-world |
5. 常用命令参考
# 查看 Docker 详细信息
docker info
# 查看运行中的容器
docker ps
# 查看所有容器
docker ps -a
# 查看镜像列表
docker images
# 清理未使用资源
docker system prune -a
# 查看磁盘使用情况
docker system df
6. 故障排查
6.1 服务启动失败
sudo journalctl -xeu docker.service
6.2 权限问题
# 确认用户在 docker 组
groups $USER
# 重新加载组权限
newgrp docker
6.3 网络问题
# 检查 Docker 网络
docker network ls
# 重置 Docker 网络
sudo systemctl restart docker
7. 文档信息
| 项目 | 值 |
|---|---|
| 创建时间 | 2026-01-10 |
| 目标系统 | Ubuntu 22.04.1 LTS |
| Docker 版本 | 29.1.4 |
| Docker Compose 版本 | v5.0.1 |
| containerd 版本 | 2.2.1 |
更多推荐
所有评论(0)