本文将详细指导如何在 Debian 和 Ubuntu 系统中安装 Docker 及 Docker Compose,适用于 Debian Stable 与 Ubuntu LTS 版本,步骤清晰且适配国内网络环境。
一、基础概念说明
1. 什么是 Docker?
Docker 是一款主流容器化技术,能在服务器上快速创建独立容器,让软件在不污染宿主机环境的前提下运行,无需手动配置复杂依赖。开源 Docker 社区持续优化该技术,免费向所有用户开放。
2. 什么是 Docker Compose?
传统方式下,运维人员需通过 docker run 命令逐个启动容器,容器数量增多时,难以记忆所有运行参数。Docker Compose 可解决这一问题:它是一款用于在单主机上定义、运行多 Docker 容器的工具,通过 YAML 文件配置应用服务,仅需一条命令即可创建并启动所有关联服务,大幅简化多依赖容器的管理与部署流程。
二、安装前准备
所有操作需在 root 用户权限下完成,先通过以下命令切换至 root 用户:Bash
sudo -i # 或执行 su root(部分系统需输入 root 密码)
三、安装 Docker(适配国内网络)
步骤 1:安装必要依赖包
先更新系统软件源并安装基础工具,确保后续操作正常执行:Bash
apt updateapt upgrade -yapt install curl vim wget gnupg dpkg apt-transport-https lsb-release ca-certificates
步骤 2:添加 Docker 软件源与 GPG 公钥
根据服务器所在地区选择对应源,国内机器优先选清华 TUNA 源(解决官方源访问慢、GPG Key 超时问题),海外机器可选官方源。 选项 A:国内机器(清华 TUNA 源)
适配 Debian 系统:Bash
curl -sSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian/gpg | gpg --dearmor > /usr/share/keyrings/docker-ce.gpgecho "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 系统:Bash
curl -sSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu/gpg | gpg --dearmor > /usr/share/keyrings/docker-ce.gpgecho "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 系统:Bash
curl -sSL https://download.docker.com/linux/debian/gpg | gpg --dearmor > /usr/share/keyrings/docker-ce.gpgecho "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 系统:Bash
curl -sSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor > /usr/share/keyrings/docker-ce.gpgecho "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 插件:Bash
apt updateapt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
步骤 4:验证 Docker 安装
执行以下命令,若显示 Client 与 Server 版本信息(类似下方示例),说明安装成功:Bash
docker version
示例输出:Bash
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 :Bash
# 安装 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 生态),执行以下命令验证版本:Bash
docker compose version
示例输出:Bash
Docker Compose version v2.39.1
2. 单独安装 Docker Compose(兼容旧环境)
若需使用旧版 docker-compose 命令(适配部分老脚本),可通过 GitHub 安装独立版本:Bash
# 下载最新版 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
验证独立版安装:Bash
docker-compose version
示例输出:Bash
Docker Compose version v2.39.1
六、优化 Docker 配置(避免日志占满硬盘)
以下配置可开启容器 IPv6 功能,并限制日志文件大小(防止日志过量占用硬盘,亲测有效):
1. 创建/修改 Docker 配置文件:Bash
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 服务使配置生效:Bash
systemctl restart docker
至此,Docker 与 Docker Compose 已完成安装与优化。后续可基于 Docker 部署各类应用,更多具体应用的部署教程将在后续文章中逐步介绍。





