Refresh install guidance

# Conflicts:
#	03_install/3.1_ubuntu.md
#	03_install/3.2_debian.md
#	03_install/3.3_fedora.md
#	03_install/3.9_mirror.md
This commit is contained in:
yeasy
2026-04-22 08:24:38 -07:00
parent 7cb55a0dd6
commit 1836416263
12 changed files with 250 additions and 370 deletions
+39 -52
View File
@@ -4,11 +4,11 @@ Ubuntu 是 Docker 最常用的运行环境之一。本节将介绍如何在 Ubun
### 为什么推荐 APT 源安装而不是脚本
虽然 Docker 官方提供了便捷的安装脚本`get.docker.com`但笔者在生产环境中**强烈推荐 APT 安装**原因如下
虽然 Docker 官方提供了便捷的安装脚本`get.docker.com`但笔者在生产环境中**强烈推荐通过 Docker 官方 APT 仓库安装**原因如下
- **版本管理**通过 APT 源安装的 Docker后续可以像管理其他系统软件包一样进行更新和版本管理
- **安全补丁**Ubuntu 官方仓库会及时推送 Docker 的安全更新这在生产环境中至关重要
- **一致性**同一 Ubuntu 版本上的团队成员安装的 Docker 版本完全一致避免在我的机器上可以运行的问题
- **版本管理**通过 APT 仓库安装后可以像管理其他系统软件包一样升级回滚和锁定版本
- **安全更新**Docker 官方仓库会持续发布新版本和安全修复适合长期维护
- **一致性**团队更容易锁定同一版本避免在我的机器上可以运行的问题
- **卸载干净**APT 包管理系统会负责清理所有相关文件脚本安装的清理往往不够彻底
如果你只是想快速尝试 Docker脚本安装没有问题但一旦涉及持久运维APT 源是更成熟的选择
@@ -21,28 +21,24 @@ Ubuntu 是 Docker 最常用的运行环境之一。本节将介绍如何在 Ubun
#### 系统要求
Docker 支持诸多版本 [Ubuntu](https://ubuntu.com/server) 操作系统。但是较旧的版本上将不会有 Docker 新版本的持续更新,以几个 Ubuntu LTS (Long Term Support,长期支持) 版本为例
根据 Docker 官方安装文档当前受支持 [Ubuntu](https://ubuntu.com/server) 64 位版本包括
* Ubuntu Noble 24.04 (LTS)Docker v29.x
* Ubuntu Jammy 22.04 (LTS), Docker v29.x
* Ubuntu Resolute 26.04 (LTS)
* Ubuntu Questing 25.10
* Ubuntu Noble 24.04 (LTS)
* Ubuntu Jammy 22.04 (LTS)
> **警告**Ubuntu 20.04 LTS 2025 5 31 日结束标准支持对于生产系统建议升级至 Ubuntu 22.04 LTS Ubuntu 24.04 LTS以获得长期维护支持若必须继续使用 20.04可通过 Ubuntu Pro 订阅获得扩展安全维护ESM
> **警告**Ubuntu 20.04 LTS 不在 Docker 当前支持列表中不建议用于新部署对于仍在运行 20.04 的生产系统应尽快升级到 22.04 LTS 24.04 LTS若短期内无法迁移可通过 Ubuntu Pro 获取操作系统层面的扩展安全维护ESM但这并不改变 Docker 官方支持矩阵
Ubuntu LTS 版本上目前 Docker 支持 amd64arm64armhfppc64els390x 5 个平台而非 LTS 版本支持的平台通常较少同时LTS 版本会获得 5 年的升级维护支持这样的系统会获得更长期的安全保障因此在生产环境中推荐使用 LTS 版本
#### 卸载旧版本
旧版本的 Docker 称为 `docker` 或者 `docker-engine`使用以下命令卸载旧版本
Docker 官方建议先卸载可能冲突的非官方软件包
```bash
$ for pkg in docker \
docker-engine \
docker.io \
docker-doc \
podman-docker \
containerd \
runc;
$ for pkg in docker.io docker-compose docker-compose-v2 docker-doc podman-docker containerd runc;
do
sudo apt remove $pkg;
done
@@ -50,73 +46,64 @@ done
### 3.1.2 使用 APT 安装
由于 `apt` 源使用 HTTPS 以确保软件下载过程中不被篡改因此我们首先需要添加使用 HTTPS 传输的软件包以及 CA 证书
先安装基础依赖并准备 Docker 官方密钥目录
```bash
$ sudo apt update
$ sudo apt install \
apt-transport-https \
ca-certificates \
curl \
gnupg \
lsb-release
$ sudo apt install ca-certificates curl
$ sudo install -m 0755 -d /etc/apt/keyrings
```
鉴于国内网络问题强烈建议使用国内源官方源请在注释中查看
如果企业内网已经维护了受信任的软件包镜像可在后续步骤中替换 `URIs` 的域名默认建议优先以 Docker 官方仓库为准
为了确认所下载软件包的合法性需要添加软件源的 `GPG` 密钥
为了确认所下载软件包的合法性需要添加仓库签名密钥
```bash
$ curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# 官方源
# $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
$ sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
$ sudo chmod a+r /etc/apt/keyrings/docker.asc
```
然后我们需要 `sources.list` 添加 Docker 软件源
然后向 `apt` 添加 Docker 仓库
```bash
$ echo \
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 官方源
# $ echo \
# "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
# $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
$ sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF
```
> 以上命令会添加稳定版本的 Docker APT 镜像源如果需要测试版本的 Docker 请将 stable 改为 test
> 如果需要测试频道可将 `Components: stable` 改为 `test`或改用 `test.docker.com` 脚本在测试环境验证
#### 安装 Docker
更新 apt 软件包缓存并安装 `docker-ce`
更新 APT 缓存并安装 Docker Engine 及常用 CLI 插件
```bash
$ sudo apt update
$ sudo apt install docker-ce docker-ce-cli containerd.io
$ sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
```
### 3.1.3 使用脚本自动安装
在测试或开发环境中 Docker 官方为了简化安装流程提供了一套便捷安装脚本Ubuntu 系统上可以使用这套脚本安装另外可以通过 `--mirror` 选项使用国内源进行安装
在测试或开发环境中Docker 官方提供了便捷安装脚本但官方明确不建议把它作为生产环境的标准安装方式
> 若你想安装测试版的 Docker请从 test.docker.com 获取脚本
在真正执行前建议先用 `--dry-run` 预览脚本动作
```bash
# $ curl -fsSL test.docker.com -o get-docker.sh
$ curl -fsSL get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh --mirror Aliyun
$ sudo sh ./get-docker.sh --dry-run
# $ sudo sh get-docker.sh --mirror AzureChinaCloud
# 若需要测试频道:
# curl -fsSL https://test.docker.com -o test-docker.sh
# sudo sh ./test-docker.sh
```
执行这个命令后脚本就会自动的将一切准备工作做好并且把 Docker 的稳定 (stable) 版本安装在系统中
确认无误后再执行 `sudo sh ./get-docker.sh` 安装稳定版
### 3.1.4 启动 Docker
```bash
$ sudo systemctl enable docker
$ sudo systemctl start docker
$ sudo systemctl enable --now docker
```
### 3.1.5 建立 docker 用户组