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 容器化应用。因地制宜,方能事半功倍。

阅读剩余
THE END