本教程将指导你在 Ubuntu 26.04 系统上,通过阿里云镜像源安装 Docker CE(社区版)。使用阿里云源可以大幅提升下载速度,避免因官方源在国外导致的超时或缓慢问题。

适用环境:Ubuntu 26.04 LTS (Resolute Raccoon) / x86_64 架构
安装内容:Docker CE、Docker CLI、containerd.io、Buildx、Docker Compose


🚀 一键安装脚本(整体执行)

如果你追求效率,可以直接以 root 权限执行以下脚本。它会自动完成 GPG 密钥导入、阿里源配置、Docker 安装和验证。

#!/bin/bash
# =============================================
# Ubuntu 26.04 Docker CE(阿里云源)一键安装脚本
# 功能:通过阿里云镜像源安装 Docker CE 及核心组件
# =============================================

set -e  # 遇到错误立即退出

echo "🚀 开始通过阿里云源安装 Docker CE..."

# 1. 安装必要系统工具
echo "📦 安装必要系统工具(ca-certificates, curl, gnupg)..."
sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg

# 2. 创建密钥目录并添加 Docker GPG 公钥(从阿里源下载)
echo "🔑 添加 Docker 的官方 GPG 密钥(来自阿里云镜像站)..."
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# 3. 写入阿里云 Docker CE 软件源
echo "📝 写入阿里云 Docker CE 软件源..."
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 4. 更新软件包列表
echo "🔄 更新软件包列表..."
sudo apt-get update

# 5. 安装 Docker CE 及核心组件
echo "⬇️ 开始安装 Docker CE 及核心组件..."
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# 6. 验证安装
echo "✅ 安装完成!验证 Docker 版本:"
sudo docker version

# 7. 测试 Docker 运行
echo "🧪 运行测试容器 hello-world..."
sudo docker run hello-world

# 8. 显示安装信息
echo ""
echo "=========================================="
echo "🎉 Docker CE 安装成功!"
echo "=========================================="
echo "📌 安装信息:"
echo "  Docker 版本: $(sudo docker version --format '{{.Server.Version}}')"
echo "  容器运行时: containerd"
echo "  构建工具: docker-buildx"
echo "  编排工具: docker-compose"
echo ""
echo "📌 常用命令:"
echo "  sudo docker version          # 查看版本"
echo "  sudo docker info             # 查看系统信息"
echo "  sudo docker run hello-world  # 测试运行"
echo ""
echo "📌 非 root 用户使用 Docker:"
echo "  sudo usermod -aG docker \$USER"
echo "  然后重新登录或执行: newgrp docker"
echo "=========================================="

📖 分步详解

第一步:理解 Docker CE 和阿里云源

Docker CE 是什么?

  • Docker CE(Community Edition)是 Docker 的免费社区版,包含完整的容器化平台
  • 核心组件:docker-ce(引擎)、docker-ce-cli(命令行工具)、containerd.io(容器运行时)

为什么使用阿里云源安装 Docker?

  • 官方源位于海外,国内下载速度慢或超时
  • 阿里云镜像站(mirrors.aliyun.com)提供 Docker CE 的国内镜像,速度快、稳定

第二步:安装必要系统工具

Docker 安装需要一些基础工具来支持 HTTPS 传输和密钥管理。

sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg

各工具说明

工具用途
ca-certificates提供 SSL/TLS 证书,用于验证 HTTPS 连接
curl命令行下载工具,用于获取 GPG 密钥
gnupg用于验证软件包的 GPG 签名

第三步:添加 Docker 的 GPG 公钥

GPG 密钥用于验证 Docker 软件包的完整性和真实性,确保下载的包未被篡改。

# 1. 创建密钥存放目录
sudo install -m 0755 -d /etc/apt/keyrings

# 2. 从阿里云源下载 GPG 密钥并转换为系统格式
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# 3. 设置密钥文件权限(所有用户可读)
sudo chmod a+r /etc/apt/keyrings/docker.gpg

命令详解

命令部分含义
curl -fsSL静默下载,跟随重定向,输出到标准输出
gpg --dearmor将 GPG 公钥从 ASCII 格式转换为二进制格式(APT 可识别)
-o /etc/apt/keyrings/docker.gpg输出到指定文件
chmod a+r赋予所有用户读取权限(APT 需要)

第四步:写入阿里云 Docker CE 软件源

将阿里云的 Docker CE 源地址写入 APT 源列表。

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

配置项详解

字段含义本例实际值(Ubuntu 26.04)
deb二进制软件包类型-
arch=$(dpkg --print-architecture)系统架构(自动检测)amd64
signed-by=...GPG 密钥文件路径/etc/apt/keyrings/docker.gpg
URIs镜像源地址https://mirrors.aliyun.com/docker-ce/linux/ubuntu
$(. /etc/os-release && echo "$VERSION_CODENAME")系统版本代号resolute
stable发行通道稳定版

查看生成的源配置文件

cat /etc/apt/sources.list.d/docker.list

输出应类似:

deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu resolute stable

第五步:更新软件包列表

sudo apt-get update

成功标志:输出中应看到类似以下内容:

Hit:1 https://mirrors.aliyun.com/docker-ce/linux/ubuntu resolute InRelease
Hit:2 https://mirrors.aliyun.com/ubuntu resolute InRelease
...

如果看到 mirrors.aliyun.com/docker-ce 字样,说明 Docker 源配置成功。


第六步:安装 Docker CE 及核心组件

sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

各组件说明

组件作用版本示例
docker-ceDocker 引擎核心26.x.x
docker-ce-cliDocker 命令行工具26.x.x
containerd.io容器运行时(管理容器生命周期)1.7.x
docker-buildx-pluginDocker Buildx 插件(支持多平台构建)0.x.x
docker-compose-pluginDocker Compose 插件(容器编排)2.x.x

安装指定版本(可选):

# 1. 查看可用版本
apt-cache madison docker-ce

# 2. 安装指定版本(将 VERSION 替换为实际版本号)
sudo apt-get install -y docker-ce=<VERSION>

第七步:验证安装

# 1. 查看 Docker 版本
sudo docker version

输出示例

Client:
 Version:           26.1.4
 API version:       1.45
 Go version:        go1.21.9
 ...

Server:
 Engine:
  Version:          26.1.4
  API version:      1.45 (minimum version 1.24)
  Go version:       go1.21.9
  ...
# 2. 查看 Docker 系统信息
sudo docker info

显示系统信息,包括容器数量、镜像数量、存储驱动等。

# 3. 运行测试容器
sudo docker run hello-world

输出示例

Hello from Docker!
This message shows that your installation appears to be working correctly.
...

💡 小贴士docker run hello-world 会自动拉取一个测试镜像并运行,如果看到上述欢迎信息,说明 Docker 安装成功。


第八步:非 root 用户使用 Docker(可选)

默认情况下,只有 root 用户和 docker 组的用户可以运行 Docker 命令。将普通用户加入 docker 组可以避免每次都输入 sudo

# 将当前用户加入 docker 组
sudo usermod -aG docker $USER

# 重新登录或执行以下命令使组权限生效
newgrp docker

# 验证(不再需要 sudo)
docker version

⚠️ 安全提醒:加入 docker 组的用户拥有与 root 同等的权限,请谨慎操作。


❓ 常见问题与解决方案

1. curl 下载 GPG 密钥失败(Connection timed out)

原因:网络不通或 DNS 解析失败。

解决

# 检查网络连通性
ping -c 3 mirrors.aliyun.com

# 检查 DNS
nslookup mirrors.aliyun.com

# 如果 DNS 有问题,手动设置
sudo rm /etc/resolv.conf
sudo tee /etc/resolv.conf <<EOF
nameserver 114.114.114.114
nameserver 8.8.8.8
EOF

2. apt update 报错 “NO_PUBKEY”

原因:GPG 密钥未正确导入或已过期。

解决

# 重新导入密钥
sudo rm -f /etc/apt/keyrings/docker.gpg
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# 重新更新
sudo apt update

3. 安装时提示 “Unable to locate package docker-ce”

原因:APT 源未正确添加或系统版本不匹配。

解决

# 1. 检查源配置
cat /etc/apt/sources.list.d/docker.list

# 2. 确认系统版本代号
lsb_release -a | grep Codename
# 应显示 resolute

# 3. 如果源文件中不是 resolute,手动修改
sudo vim /etc/apt/sources.list.d/docker.list
# 将版本代号改为 resolute

# 4. 重新更新
sudo apt update
sudo apt install -y docker-ce

4. Docker 启动失败

解决

# 1. 查看 Docker 服务状态
sudo systemctl status docker

# 2. 启动 Docker 服务
sudo systemctl start docker

# 3. 设置开机自启
sudo systemctl enable docker

# 4. 查看日志排查
sudo journalctl -u docker -n 50

5. 非 root 用户执行 docker 命令报错 “permission denied”

原因:用户未加入 docker 组。

解决

# 1. 加入 docker 组
sudo usermod -aG docker $USER

# 2. 重新登录或执行
newgrp docker

# 3. 验证
docker version

6. 阿里云 ECS 用户注意

如果你使用的是阿里云 ECS 服务器,建议使用内网地址以获得更快速度:

# 修改源配置,使用内网地址
sudo sed -i 's|https://mirrors.aliyun.com|http://mirrors.cloud.aliyuncs.com|g' /etc/apt/sources.list.d/docker.list

# 更新并重新安装
sudo apt update

7. 如何卸载 Docker?

# 卸载 Docker 包
sudo apt-get purge -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# 删除数据目录
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

# 删除源配置
sudo rm /etc/apt/sources.list.d/docker.list
sudo rm /etc/apt/keyrings/docker.gpg

📊 配置校验清单

检查项命令预期结果
Docker 版本sudo docker version显示客户端和服务端版本
Docker 服务状态sudo systemctl status docker显示 active (running)
测试容器sudo docker run hello-world显示 “Hello from Docker!”
镜像列表sudo docker images包含 hello-world 镜像

💡 总结

通过本文,你应该已经掌握了:

  1. Docker CE 安装:通过阿里云镜像源快速安装 Docker CE 及核心组件。
  2. GPG 密钥管理:如何使用阿里源下载和导入 Docker 的官方签名密钥。
  3. 源配置格式:Docker 源的 DEB 格式配置(与系统源格式不同)。
  4. 验证与测试:使用 docker versiondocker run hello-world 验证安装。
  5. 非 root 用户配置:将普通用户加入 docker 组。

下一步:安装完成后,可以开始使用 Docker 部署容器化应用,比如 Nginx、MySQL、Redis 等。祝使用愉快!🐳


如果在安装过程中遇到任何问题,欢迎在评论区留言! 😊

更多推荐