本文将详细指导如何在 Debian 和 Ubuntu 系统中安装 Docker 及 Docker Compose,适用于 Debian Stable 与 Ubuntu LTS 版本,步骤清晰且适配国内网络环境。
一、基础概念说明
1. 什么是 Docker?
Docker 是一款主流容器化技术,能在服务器上快速创建独立容器,让软件在不污染宿主机环境的前提下运行,无需手动配置复杂依赖。开源 Docker 社区持续优化该技术,免费向所有用户开放。
2. 什么是 Docker Compose?
传统方式下,运维人员需通过 docker run 命令逐个启动容器,容器数量增多时,难以记忆所有运行参数。Docker Compose 可解决这一问题:它是一款用于在单主机上定义、运行多 Docker 容器的工具,通过 YAML 文件配置应用服务,仅需一条命令即可创建并启动所有关联服务,大幅简化多依赖容器的管理与部署流程。
二、安装前准备
所有操作需在 root 用户权限下完成,先通过以下命令切换至 root 用户:
sudo -i # 或执行 su root(部分系统需输入 root 密码) 三、安装 Docker(适配国内网络)
步骤 1:安装必要依赖包
先更新系统软件源并安装基础工具,确保后续操作正常执行:
apt update
apt upgrade -y
apt install curl vim wget gnupg dpkg apt-transport-https lsb-release ca-certificates 步骤 2:添加 Docker 软件源与 GPG 公钥
根据服务器所在地区选择对应源,国内机器优先选清华 TUNA 源(解决官方源访问慢、GPG Key 超时问题),海外机器可选官方源。 选项 A:国内机器(清华 TUNA 源)
适配 Debian 系统:
curl -sSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian/gpg | gpg --dearmor > /usr/share/keyrings/docker-ce.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-ce.gpg] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian $(lsb_release -sc) stable" > /etc/apt/sources.list.d/docker.list 适配 Ubuntu 系统:
curl -sSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu/gpg | gpg --dearmor > /usr/share/keyrings/docker-ce.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-ce.gpg] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu $(lsb_release -sc) stable" > /etc/apt/sources.list.d/docker.list 选项 B:海外机器(Docker 官方源)
适配 Debian 系统:
curl -sSL https://download.docker.com/linux/debian/gpg | gpg --dearmor > /usr/share/keyrings/docker-ce.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-ce.gpg] https://download.docker.com/linux/debian $(lsb_release -sc) stable" > /etc/apt/sources.list.d/docker.list 适配 Ubuntu 系统:
curl -sSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor > /usr/share/keyrings/docker-ce.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-ce.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -sc) stable" > /etc/apt/sources.list.d/docker.list 步骤 3:安装 Docker 核心组件
更新软件源后,安装 Docker CE(社区版)、命令行工具及 Docker Compose 插件:
apt update
apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin 步骤 4:验证 Docker 安装
执行以下命令,若显示 Client 与 Server 版本信息(类似下方示例),说明安装成功:
docker version 示例输出:
Client: Docker Engine - Community
Version: 28.3.3
API version: 1.51
Go version: go1.24.5
Git commit: 980b856
Built: Fri Jul 25 11:34:00 2025
OS/Arch: linux/amd64
Context: default
Server: Docker Engine - Community
Engine:
Version: 28.3.3
API version: 1.51 (minimum version 1.24)
Go version: go1.24.5
Git commit: bea959c
Built: Fri Jul 25 11:34:00 2025
OS/Arch: linux/amd64
Experimental: true
containerd:
Version: 1.7.27
GitCommit: 05044ec0a9a75232cad458027ca83437aae3f4da
runc:
Version: 1.2.5
GitCommit: v1.2.5-0-g59923ef
docker-init:
Version: 0.19.0
GitCommit: de40ad0 四、配置 Docker 非 root 访问(可选)
若需特定用户(如 www-data )以 rootless 模式运行 Docker,可将该用户加入 docker 组,避免每次执行 Docker 命令都需 sudo :
# 安装 rootless 扩展组件
apt install docker-ce-rootless-extras
# 将 www-data 用户加入 docker 组(替换为目标用户名即可)
sudo usermod -aG docker www-data 五、Docker Compose 相关操作
1. 验证插件版 Compose(默认已安装)
由于前文已安装 docker-compose-plugin ,Docker 会自带 docker compose 命令(兼容新版 Docker 生态),执行以下命令验证版本:
docker compose version 示例输出:
Docker Compose version v2.39.1 2. 单独安装 Docker Compose(兼容旧环境)
若需使用旧版 docker-compose 命令(适配部分老脚本),可通过 GitHub 安装独立版本:
# 下载最新版 Docker Compose 到指定目录
curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-Linux-x86_64 > /usr/local/bin/docker-compose
# 赋予可执行权限
chmod +x /usr/local/bin/docker-compose 验证独立版安装:
docker-compose version 示例输出:
Docker Compose version v2.39.1 六、优化 Docker 配置(避免日志占满硬盘)
以下配置可开启容器 IPv6 功能,并限制日志文件大小(防止日志过量占用硬盘,亲测有效):
1. 创建/修改 Docker 配置文件:
cat > /etc/docker/daemon.json << EOF
{
"log-driver": "json-file",
"log-opts": {
"max-size": "20m", # 单日志文件最大 20MB
"max-file": "3" # 最多保留 3 个日志文件
},
"userland-proxy": false,
"ipv6": true,
"fixed-cidr-v6": "fdb::/64",
"experimental": true,
"ip6tables": true
}
EOF 2. 重启 Docker 服务使配置生效:
systemctl restart docker 至此,Docker 与 Docker Compose 已完成安装与优化。后续可基于 Docker 部署各类应用,更多具体应用的部署教程将在后续文章中逐步介绍。
