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
相关推荐
AlfredZhao2 小时前
用Docker安全驯服OpenClaw,并打通社交软件
docker·飞书·openclaw
黑金白土3 小时前
OpenClaw + Docker + MiniMax 本地养“龙虾”方案
docker·minimax·openclaw·龙虾·龙虾本地部署
不老刘3 小时前
OpenClaw Windows 下 Docker 部署指南
docker·容器·openclaw
ai产品老杨3 小时前
打破芯片壁垒:基于Docker与K8s的GB28181/RTSP异构AI视频平台架构实战
人工智能·docker·eureka·时序数据库·etcd
roman_日积跬步-终至千里3 小时前
【k8s 实战】使用 Helm 在 Minikube 部署 StarRocks(实战避坑指南)
云原生·容器·kubernetes
M1nat0_3 小时前
Docker:容器技术的前世今生
docker
bug攻城狮3 小时前
Docker高级篇03:Docker微服务实战
docker·微服务·容器
南梦浅4 小时前
校园失物招领平台项目自动化部署指南(Docker + Nginx)
nginx·docker·自动化
祁同伟.4 小时前
【算法】优选 · 双指针
c++·算法·容器·stl
IT从业者张某某4 小时前
Docker部署Hadoop-02-Docker常见操作
hadoop·docker·容器