Docker 与 Docker Compose 国内外服务器安装完整指南:源配置、镜像加速与避坑实践
在当今 DevOps 和容器化部署盛行的时代,Docker 与 Docker Compose 已成为开发与运维人员的标配工具。然而,由于网络环境、软件源策略及合规要求的不同,国内与国外服务器在安装 Docker 及其生态组件时存在显著差异。本文将从零开始,分别详述适用于中国大陆境内服务器和境外(如 AWS、DigitalOcean、Google Cloud 等)服务器的安装流程,并提供针对性优化建议,确保操作高效、稳定、可复现。
一、前置准备:通用检查项
无论国内外服务器,均需完成以下基础配置:
操作系统:推荐 Ubuntu 20.04/22.04、CentOS 7+/Rocky Linux 8+ 或 Debian 11+
用户权限:具备 sudo 权限或 root 账户
网络连通性:能访问目标软件源(国内需考虑 GFW 影响)
防火墙/SELinux:根据需要临时关闭或配置放行规则(非必需但可简化调试)
卸载旧版本
之前没有安装过docker就不需要这一步的操作了。
sudo apt-get remove docker docker-engine docker.io containerd runc
二、国外服务器安装流程(以 Ubuntu 22.04 为例)
步骤 1:更新系统并安装必要依赖
sudo apt update && sudo apt upgrade -y
sudo apt install -y ca-certificates curl gnupg lsb-release
步骤 2:添加 Docker 官方 GPG 密钥与 APT 仓库
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
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:安装 Docker Engine 与 CLI
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
步骤 4:验证安装并启用自启动
sudo systemctl enable docker --now
sudo docker run hello-world
步骤 5:安装独立版 Docker Compose(可选,推荐使用插件版)
虽然新版 Docker 已内置 docker compose(无横杠),但部分旧脚本仍依赖 docker-compose 命令。若需独立二进制:
VERSION=$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep 'tag_name' | cut -d\" -f4)
sudo curl -L "https://github.com/docker/compose/releases/download/${VERSION}/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
注意:GitHub Releases 在国外通常可直连,无需代理。
三、国内服务器安装流程(以 CentOS 7 为例)
核心挑战:
官方 Docker 源(download.docker.com)在国内访问缓慢或不稳定
GitHub 资源(如 Compose 二进制)常被限速或阻断
需依赖镜像加速器或国内软件源
解决方案:使用阿里云或清华源替代官方源
步骤 1:卸载旧版本(如有)
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
步骤 2:安装必要工具并配置国内 YUM 源
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
添加阿里云 Docker CE 源:
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
替代方案:清华源 https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
步骤 3:安装 Docker
sudo yum makecache fast
sudo yum install -y docker-ce docker-ce-cli containerd.io
步骤 4:配置镜像加速器(关键!)
创建或编辑 /etc/docker/daemon.json:
{
"registry-mirrors": [
"https://<your-id>.mirror.aliyuncs.com",
"https://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn"
],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m",
"max-file": "3"
}
}
提示:阿里云镜像加速器需登录 容器镜像服务控制台 获取专属地址。
重启 Docker 生效:
sudo systemctl daemon-reexec
sudo systemctl restart docker
sudo systemctl enable docker
步骤 5:安装 Docker Compose(绕过 GitHub)
方法一:使用 pip(推荐)
sudo yum install -y python3-pip
sudo pip3 install docker-compose -i https://pypi.tuna.tsinghua.edu.cn/simple/
方法二:从国内镜像站下载二进制
例如,使用 DaoCloud 提供的 Compose 镜像:
sudo curl -L https://get.daocloud.io/docker/compose/releases/download/v2.24.5/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
验证docker-compose
docker-compose --version
四、国内服务器安装流程(以Debian 11/12(Bullseye / Bookworm)为例)
步骤 1:更新系统并安装依赖
sudo apt update && sudo apt upgrade -y
sudo apt install -y ca-certificates curl gnupg lsb-release
步骤 2:添加 Docker 国内 APT 源(使用清华镜像)
# 创建 keyring 目录
sudo mkdir -p /etc/apt/keyrings
# 下载并导入 Docker 官方 GPG 密钥(通过代理或缓存,若失败可跳过)
# 在国内建议直接信任源,或使用阿里云提供的密钥(见下文替代方案)
# 替代方案:使用清华镜像站提供的源(无需 GPG 验证,生产环境谨慎使用)
echo "deb https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list
注意:Debian 的 lsb_release -cs 返回如 bullseye 或 bookworm,确保镜像站支持该版本。
步骤 3:安装 Docker
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
若遇 GPG 错误,可临时禁用验证(仅限内网/测试环境):
sudo apt -o Acquire::Check-Valid-Until=false -o Acquire::Check-Date=false update
步骤 4:配置镜像加速器
编辑 /etc/docker/daemon.json:
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com"
],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m",
"max-file": "3"
}
}
重启服务:
sudo systemctl daemon-reload
sudo systemctl restart docker
sudo systemctl enable docker
步骤 5:安装 Docker Compose(推荐 pip 方式)
# 安装 Python3 和 pip
sudo apt install -y python3-pip
# 使用清华 PyPI 源安装
sudo pip3 install docker-compose -i https://pypi.tuna.tsinghua.edu.cn/simple/
验证:
docker-compose --version
五、国内服务器安装流程(以Ubuntu 20.04 / 22.04为例)
虽然 Ubuntu 在国外常使用官方源,但在中国大陆建议全程使用国内镜像以避免超时。
步骤 1:清理旧版本(如有)
sudo apt remove -y docker docker-engine docker.io containerd runc
步骤 2:配置阿里云 Docker APT 源
sudo apt update
sudo apt install -y ca-certificates curl gnupg lsb-release
# 添加阿里云 GPG 密钥(可选,部分环境可省略)
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
# 添加阿里云源
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
优势:阿里云源同步官方仓库,延迟低、稳定性高。
步骤 3:安装 Docker
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
此时已包含新版 docker compose(插件),但若需传统 docker-compose 命令,继续下一步。
步骤 4:配置镜像加速器
创建 /etc/docker/daemon.json:
{
"registry-mirrors": ["https://<your-id>.mirror.aliyuncs.com"]
}
替换 <your-id> 为 阿里云容器镜像服务控制台 提供的专属地址,或使用公共镜像:
{ "registry-mirrors": ["https://hub-mirror.c.163.com"] }
重启 Docker:
sudo systemctl restart docker
sudo systemctl enable docker
步骤 5:安装独立版 docker-compose(兼容旧脚本)
# 方法一:使用 DaoCloud 镜像(推荐)
sudo curl -L https://get.daocloud.io/docker/compose/releases/download/v2.24.5/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
# 方法二:pip + 清华源
sudo apt install -y python3-pip
sudo pip3 install docker-compose -i https://pypi.tuna.tsinghua.edu.cn/simple/
验证:
docker-compose --version
六、对比总结与最佳实践建议

最佳实践建议:
统一使用 docker compose(插件版):避免 docker-compose 与 docker compose 混用问题。
国内服务器务必配置镜像加速器:否则 docker pull 可能超时失败。
自动化部署时区分地域:通过判断 IP 段或 DNS 解析结果自动选择安装策略。
定期清理无用镜像与容器:尤其在国内带宽有限环境下,节省资源。
无论是部署于北京阿里云还是美国 AWS 的服务器,都能高效、稳定地运行 Docker 容器化应用。因地制宜,方能事半功倍。