Docker & Docker Compose 安装方案

Docker & Docker Compose 安装方案

    • [1. 环境信息](#1. 环境信息)
    • [2. 安装方案概述](#2. 安装方案概述)
      • [2.1 安装方式](#2.1 安装方式)
      • [2.2 安装组件](#2.2 安装组件)
      • [2.3 生产级配置](#2.3 生产级配置)
    • [3. 实施步骤](#3. 实施步骤)
      • [3.1 卸载旧版本(如有)](#3.1 卸载旧版本(如有))
      • [3.2 安装依赖包](#3.2 安装依赖包)
      • [3.3 添加 Docker 官方 GPG 密钥](#3.3 添加 Docker 官方 GPG 密钥)
      • [3.4 添加 Docker APT 仓库](#3.4 添加 Docker APT 仓库)
      • [3.5 安装 Docker Engine](#3.5 安装 Docker Engine)
      • [3.6 配置 Docker Daemon(生产级配置)](#3.6 配置 Docker Daemon(生产级配置))
      • [3.7 启动 Docker 并设置开机自启](#3.7 启动 Docker 并设置开机自启)
      • [3.8 配置用户权限](#3.8 配置用户权限)
      • [3.9 验证安装](#3.9 验证安装)
    • [4. 验证清单](#4. 验证清单)
    • [5. 常用命令参考](#5. 常用命令参考)
    • [6. 故障排查](#6. 故障排查)
      • [6.1 服务启动失败](#6.1 服务启动失败)
      • [6.2 权限问题](#6.2 权限问题)
      • [6.3 网络问题](#6.3 网络问题)
    • [7. 文档信息](#7. 文档信息)

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 卸载旧版本(如有)

bash 复制代码
sudo apt-get remove -y docker docker-engine docker.io containerd runc 2>/dev/null || true

3.2 安装依赖包

bash 复制代码
sudo apt-get update
sudo apt-get install -y \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

3.3 添加 Docker 官方 GPG 密钥

bash 复制代码
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 仓库

bash 复制代码
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

bash 复制代码
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(生产级配置)

bash 复制代码
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 并设置开机自启

bash 复制代码
sudo systemctl daemon-reload
sudo systemctl enable docker
sudo systemctl start docker

3.8 配置用户权限

bash 复制代码
sudo usermod -aG docker $USER

注意: 执行后需要重新登录或执行 newgrp docker 使权限生效。

3.9 验证安装

bash 复制代码
# 检查 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
测试容器 Hello from Docker! docker run --rm hello-world

5. 常用命令参考

bash 复制代码
# 查看 Docker 详细信息
docker info

# 查看运行中的容器
docker ps

# 查看所有容器
docker ps -a

# 查看镜像列表
docker images

# 清理未使用资源
docker system prune -a

# 查看磁盘使用情况
docker system df

6. 故障排查

6.1 服务启动失败

bash 复制代码
sudo journalctl -xeu docker.service

6.2 权限问题

bash 复制代码
# 确认用户在 docker 组
groups $USER

# 重新加载组权限
newgrp docker

6.3 网络问题

bash 复制代码
# 检查 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
相关推荐
云游牧者11 小时前
K8S存储体系全解-从PV-PVC-SC到StatefulSet持久化实战
云原生·容器·kubernetes·pvc·pv·sc·进阶存储卷
古城小栈11 小时前
K8s 认证、授权 系统
云原生·容器·kubernetes
终端行者11 小时前
jenkins Pipeline 企业级别的流水线构建 Docker 负责打包 最后上传到Nexus
ci/cd·docker·jenkins
酷道11 小时前
CentOS 7 安装 Docker
linux·docker·centos
最后一个bug12 小时前
ubuntu24.04在docker下迁移gitlab16
linux·运维·docker
木雷坞12 小时前
csdn-enterpriseGitLab Runner docker pull 慢:并行流水线镜像拉取排查
运维·docker·容器·gitlab
Achou.Wang12 小时前
Docker 多阶段构建:优化 Go 应用镜像大小的最佳实践
elasticsearch·docker·golang
酷道12 小时前
获取Docker阿里云专属镜像加速地址
阿里云·docker·容器·云计算
古城小栈12 小时前
K8s 存储组件 通俗精讲
云原生·容器·kubernetes