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
相关推荐
礼拜天没时间.1 小时前
深入Docker架构——C/S模式解析
linux·docker·容器·架构·centos
猫头虎2 小时前
如何使用Docker部署OpenClaw汉化中文版?
运维·人工智能·docker·容器·langchain·开源·aigc
会周易的程序员2 小时前
openplc runtimev4 Docker 部署
运维·c++·物联网·docker·容器·软件工程·iot
小Pawn爷2 小时前
1.Docker基础
运维·docker·容器
chinesegf2 小时前
清理docker残留镜像images
运维·docker·容器
小Pawn爷3 小时前
2.Docker的存储
运维·docker·容器
广州中轴线3 小时前
OpenStack on Kubernetes 生产部署实战(十七)
容器·kubernetes·openstack
礼拜天没时间.3 小时前
自定义镜像制作——从Dockerfile到镜像
linux·docker·容器·centos·bash
岁岁种桃花儿4 小时前
注册中心宕机后,RPC调用还能成功吗?主流框架实测级分析
zookeeper·eureka·rpc
luffy54594 小时前
windows下通过docker-desktop创建redis实例
windows·redis·docker·容器