Docker & Docker Compose安装教程
更新时间:2026年01月13日 08:42:17 作者:techzhi
本文详细介绍了在Ubuntu 22.04.1 LTS系统上安装和配置Docker的步骤,包括选择合适的存储驱动和日志驱动,生产级配置以及用户权限管理,通过一系列检查步骤和常用命令,确保Docker安装和配置的正确性
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 |
8. 总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。


最新评论