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 c9c72618c3
commit 1fc64ab875
12 changed files with 250 additions and 370 deletions
+14
View File
@@ -17,3 +17,17 @@ CLI 的实验特性通常包含仍在开发中的新功能。幸运的是,在
"experimental": true "experimental": true
} }
``` ```
保存后重启 Docker daemon
```bash
$ sudo systemctl restart docker
```
然后执行下面的命令验证服务端实验特性已经生效
```bash
$ docker version
```
若输出中的 `Server` / `Engine` 部分出现 `Experimental: true`说明 daemon 端实验特性已经启用
+39 -52
View File
@@ -4,11 +4,11 @@ Ubuntu 是 Docker 最常用的运行环境之一。本节将介绍如何在 Ubun
### 为什么推荐 APT 源安装而不是脚本 ### 为什么推荐 APT 源安装而不是脚本
虽然 Docker 官方提供了便捷的安装脚本`get.docker.com`但笔者在生产环境中**强烈推荐 APT 安装**原因如下 虽然 Docker 官方提供了便捷的安装脚本`get.docker.com`但笔者在生产环境中**强烈推荐通过 Docker 官方 APT 仓库安装**原因如下
- **版本管理**通过 APT 源安装的 Docker后续可以像管理其他系统软件包一样进行更新和版本管理 - **版本管理**通过 APT 仓库安装后可以像管理其他系统软件包一样升级回滚和锁定版本
- **安全补丁**Ubuntu 官方仓库会及时推送 Docker 的安全更新这在生产环境中至关重要 - **安全更新**Docker 官方仓库会持续发布新版本和安全修复适合长期维护
- **一致性**同一 Ubuntu 版本上的团队成员安装的 Docker 版本完全一致避免在我的机器上可以运行的问题 - **一致性**团队更容易锁定同一版本避免在我的机器上可以运行的问题
- **卸载干净**APT 包管理系统会负责清理所有相关文件脚本安装的清理往往不够彻底 - **卸载干净**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 Resolute 26.04 (LTS)
* Ubuntu Jammy 22.04 (LTS), Docker v29.x * 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 版本 Ubuntu LTS 版本上目前 Docker 支持 amd64arm64armhfppc64els390x 5 个平台而非 LTS 版本支持的平台通常较少同时LTS 版本会获得 5 年的升级维护支持这样的系统会获得更长期的安全保障因此在生产环境中推荐使用 LTS 版本
#### 卸载旧版本 #### 卸载旧版本
旧版本的 Docker 称为 `docker` 或者 `docker-engine`使用以下命令卸载旧版本 Docker 官方建议先卸载可能冲突的非官方软件包
```bash ```bash
$ for pkg in docker \ $ for pkg in docker.io docker-compose docker-compose-v2 docker-doc podman-docker containerd runc;
docker-engine \
docker.io \
docker-doc \
podman-docker \
containerd \
runc;
do do
sudo apt remove $pkg; sudo apt remove $pkg;
done done
@@ -50,73 +46,64 @@ done
### 3.1.2 使用 APT 安装 ### 3.1.2 使用 APT 安装
由于 `apt` 源使用 HTTPS 以确保软件下载过程中不被篡改因此我们首先需要添加使用 HTTPS 传输的软件包以及 CA 证书 先安装基础依赖并准备 Docker 官方密钥目录
```bash ```bash
$ sudo apt update $ sudo apt update
$ sudo apt install \ $ sudo apt install ca-certificates curl
apt-transport-https \ $ sudo install -m 0755 -d /etc/apt/keyrings
ca-certificates \
curl \
gnupg \
lsb-release
``` ```
鉴于国内网络问题强烈建议使用国内源官方源请在注释中查看 如果企业内网已经维护了受信任的软件包镜像可在后续步骤中替换 `URIs` 的域名默认建议优先以 Docker 官方仓库为准
为了确认所下载软件包的合法性需要添加软件源的 `GPG` 密钥 为了确认所下载软件包的合法性需要添加仓库签名密钥
```bash ```bash
$ curl -fsSL https://mirrors.aliyun.com/docker-ce/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
# 官方源
# $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
``` ```
然后我们需要 `sources.list` 添加 Docker 软件源 然后向 `apt` 添加 Docker 仓库
```bash ```bash
$ echo \ $ sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \ Types: deb
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
# 官方源 Components: stable
# $ echo \ Architectures: $(dpkg --print-architecture)
# "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ Signed-By: /etc/apt/keyrings/docker.asc
# $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null EOF
``` ```
> 以上命令会添加稳定版本的 Docker APT 镜像源如果需要测试版本的 Docker 请将 stable 改为 test > 如果需要测试频道可将 `Components: stable` 改为 `test`或改用 `test.docker.com` 脚本在测试环境验证
#### 安装 Docker 更新 APT 缓存并安装 Docker Engine 及常用 CLI 插件
更新 apt 软件包缓存并安装 `docker-ce`
```bash ```bash
$ sudo apt update $ 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 使用脚本自动安装 ### 3.1.3 使用脚本自动安装
在测试或开发环境中 Docker 官方为了简化安装流程提供了一套便捷安装脚本Ubuntu 系统上可以使用这套脚本安装另外可以通过 `--mirror` 选项使用国内源进行安装 在测试或开发环境中Docker 官方提供了便捷安装脚本但官方明确不建议把它作为生产环境的标准安装方式
> 若你想安装测试版的 Docker请从 test.docker.com 获取脚本 在真正执行前建议先用 `--dry-run` 预览脚本动作
```bash ```bash
# $ curl -fsSL test.docker.com -o get-docker.sh
$ curl -fsSL get.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 ### 3.1.4 启动 Docker
```bash ```bash
$ sudo systemctl enable docker $ sudo systemctl enable --now docker
$ sudo systemctl start docker
``` ```
### 3.1.5 建立 docker 用户组 ### 3.1.5 建立 docker 用户组
+36 -45
View File
@@ -4,7 +4,7 @@ Debian 以其稳定性著称,是 Docker 的理想宿主系统。本节将指
### APT 源安装的必要性 ### APT 源安装的必要性
Ubuntu 类似Debian 用户在安装 Docker 时同样应该优先选择 APT 源安装Debian 对系统稳定性的极致追求使得通过官方仓库来管理 Docker 生命周期变得尤为重要特别是在服务器环境APT 源提供的版本控制和安全更新流程是不可或缺的 Ubuntu 类似Debian 用户在安装 Docker 时同样应该优先选择 Docker 官方 APT 仓库对于服务器环境这种方式更利于版本控制升级和长期维护
> 警告切勿在没有配置 Docker APT 源的情况下直接使用 apt 命令安装 Docker > 警告切勿在没有配置 Docker APT 源的情况下直接使用 apt 命令安装 Docker
@@ -16,93 +16,84 @@ Debian 以其稳定性著称,是 Docker 的理想宿主系统。本节将指
Docker 支持以下版本的 [Debian](https://www.debian.org/intro/about) 操作系统: Docker 支持以下版本的 [Debian](https://www.debian.org/intro/about) 操作系统:
* Debian Trixie 13 (stable2025 8 月发布当前活跃版本) * Debian Trixie 13 (stable)
* Debian Bookworm 12 (oldstable全面支持至 2026 6 LTS 2028 6 * Debian Bookworm 12 (oldstable全面支持至 2026 6 LTS 2028 6 )
* Debian Bullseye 11 (LTS 长期支持支持至 2026 8 31 ) * Debian Bullseye 11 (oldoldstableLTS 支持至 2026 8 31 )
> **注意**Debian Bullseye 11 将于 2026 8 月底结束长期支持建议新部署使用 Bookworm 12 Trixie 13 > **注意**Debian Bullseye 11 将于 2026 8 月底结束长期支持建议新部署使用 Bookworm 12 Trixie 13
#### 卸载旧版本 #### 卸载旧版本
旧版本的 Docker 称为 `docker` 或者 `docker-engine`使用以下命令卸载旧版本 Docker 官方建议先卸载可能冲突的非官方软件包
```bash ```bash
$ sudo apt-get remove docker \ $ for pkg in docker.io docker-compose docker-compose-v2 docker-doc podman-docker containerd runc; do
docker-engine \ sudo apt remove $pkg
docker.io done
``` ```
### 3.2.2 使用 APT 安装 ### 3.2.2 使用 APT 安装
由于 apt 源使用 HTTPS 以确保软件下载过程中不被篡改因此我们首先需要添加使用 HTTPS 传输的软件包以及 CA 证书 先安装基础依赖并准备密钥目录
```bash ```bash
$ sudo apt-get update $ sudo apt update
$ sudo apt-get install \ $ sudo apt install ca-certificates curl
apt-transport-https \ $ sudo install -m 0755 -d /etc/apt/keyrings
ca-certificates \
curl \
gnupg \
lsb-release
``` ```
鉴于国内网络问题强烈建议使用国内源官方源请在注释中查看 如果公司内网维护了受信任镜像站可在后续仓库地址中替换域名默认建议优先使用 Docker 官方仓库
为了确认所下载软件包的合法性需要添加软件源的 GPG 密钥 为了确认所下载软件包的合法性需要添加软件源的 GPG 密钥
```bash ```bash
$ curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg $ sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
$ sudo chmod a+r /etc/apt/keyrings/docker.asc
# 官方源
# $ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
``` ```
然后我们需要向 `sources.list` 中添加 Docker 软件源 然后我们需要向 `sources.list` 中添加 Docker 软件源
> 在一些基于 Debian Linux 发行版中 `$(lsb_release -cs)` 可能不会返回 Debian 版本代号例如 [Kali Linux](https://www.kali.org/docs/policy/kali-linux-relationship-with-debian/)、[BunsenLabs Linux](https://www.bunsenlabs.org/)。在这些发行版中我们需要将下面命令中的 `$(lsb_release -cs)` 替换为 https://mirrors.aliyun.com/docker-ce/linux/debian/dists/ 中支持的 Debian 版本代号,例如 `buster`。 > 在一些基于 Debian Linux 发行版中`$(. /etc/os-release && echo "$VERSION_CODENAME")` 可能不会返回 Debian 官方仓库使用的代号例如 [Kali Linux](https://www.kali.org/docs/policy/kali-linux-relationship-with-debian/) 等衍生发行版。此时请手动替换为对应的 Debian 代号,例如 `bookworm`。
```bash ```bash
$ echo \ $ sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/debian \ Types: deb
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null URIs: https://download.docker.com/linux/debian
Suites: $(. /etc/os-release && echo "$VERSION_CODENAME")
# 官方源 Components: stable
# $ echo \ Architectures: $(dpkg --print-architecture)
# "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \ Signed-By: /etc/apt/keyrings/docker.asc
# $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null EOF
``` ```
> 以上命令会添加稳定版本的 Docker APT 如果需要测试版本的 Docker 请将 stable 改为 testDebian11 可能不使用 `/etc/apt/keyrings/` gpg 错误可以考虑更换为 `/etc/apt/trusted.gpg.d` [issue 15727](https://github.com/docker/docs/issues/15727)。 > 如果使用 Kali 等衍生发行版请把 `Suites` 对应的版本代号替换为映射到的 Debian 代号例如 `bookworm`果需要测试频道可将 `Components: stable` 改为 `test`
#### 安装 Docker 更新 APT 缓存并安装 Docker Engine 及常用 CLI 插件
更新 apt 软件包缓存并安装 `docker-ce`
```bash ```bash
$ sudo apt-get update $ sudo apt update
$ sudo apt-get 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.2.3 使用脚本自动安装 ### 3.2.3 使用脚本自动安装
在测试或开发环境中 Docker 官方为了简化安装流程提供了一套便捷安装脚本Debian 系统上可以使用这套脚本安装另外可以通过 `--mirror` 选项使用国内源进行安装 在测试或开发环境中Docker 官方提供了便捷安装脚本但官方明确不建议把它作为生产环境的标准安装方式
> 若你想安装测试版的 Docker请从 test.docker.com 获取脚本 在真正执行前建议先用 `--dry-run` 预览脚本动作
```bash ```bash
# $ curl -fsSL test.docker.com -o get-docker.sh
$ curl -fsSL get.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.2.4 启动 Docker ### 3.2.4 启动 Docker
```bash ```bash
$ sudo systemctl enable docker $ sudo systemctl enable --now docker
$ sudo systemctl start docker
``` ```
### 3.2.5 建立 docker 用户组 ### 3.2.5 建立 docker 用户组
+18 -25
View File
@@ -14,10 +14,11 @@ Fedora 的快速发布周期(每 6 个月发布新版本)决定了它的用
#### 系统要求 #### 系统要求
Docker 支持以下版本 [Fedora](https://getfedora.org/) 操作系统 根据 Docker 官方安装文档当前受支持 [Fedora](https://getfedora.org/) 版本包括
* Fedora 42 (支持至 2026 5 ) * Fedora 44
* Fedora 43 (支持至 2026 12 ) * Fedora 43
* Fedora 42
#### 卸载旧版本 #### 卸载旧版本
@@ -45,21 +46,14 @@ $ sudo dnf remove docker \
```bash ```bash
$ sudo dnf -y install dnf-plugins-core $ sudo dnf -y install dnf-plugins-core
``` ```
鉴于国内网络问题强烈建议使用国内源官方源请在注释中查看 默认建议优先使用 Docker 官方仓库如果企业内网维护了受信任镜像站可自行替换仓库 URL
执行下面的命令添加 `dnf` 软件源 执行下面的命令添加 `dnf` 软件源
```bash ```bash
$ sudo dnf config-manager \ $ sudo dnf config-manager \
--add-repo \ --add-repo \
https://mirrors.aliyun.com/docker-ce/linux/fedora/docker-ce.repo https://download.docker.com/linux/fedora/docker-ce.repo
$ sudo sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
# 官方源
# $ sudo dnf config-manager \
# --add-repo \
# https://download.docker.com/linux/fedora/docker-ce.repo
``` ```
如果需要测试版本的 Docker 请使用以下命令 如果需要测试版本的 Docker 请使用以下命令
@@ -74,43 +68,42 @@ $ sudo dnf config-manager --set-disabled docker-ce-test
#### 安装 Docker #### 安装 Docker
更新 `dnf` 软件源缓存并安装 `docker-ce` 更新 `dnf` 软件源缓存并安装 Docker Engine 及常用 CLI 插件
```bash ```bash
$ sudo dnf update $ sudo dnf update
$ sudo dnf install docker-ce docker-ce-cli containerd.io $ sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
``` ```
你也可以使用以下命令安装指定版本的 Docker 你也可以使用以下命令安装指定版本的 Docker
```bash ```bash
$ dnf list docker-ce --showduplicates | sort -r $ dnf list docker-ce --showduplicates | sort -r
docker-ce.x86_64 18.06.1.ce-3.fc28 docker-ce-stable docker-ce.x86_64 3:29.4.0-1.fc42 docker-ce-stable
$ sudo dnf -y install docker-ce-18.06.1.ce $ sudo dnf -y install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING>
``` ```
### 3.3.3 使用脚本自动安装 ### 3.3.3 使用脚本自动安装
在测试或开发环境中 Docker 官方为了简化安装流程提供了一套便捷安装脚本Fedora 系统上可以使用这套脚本安装另外可以通过 `--mirror` 选项使用国内源进行安装 在测试或开发环境中Docker 官方提供了便捷安装脚本但官方明确不建议把它作为生产环境的标准安装方式
> 若你想安装测试版的 Docker请从 test.docker.com 获取脚本 在真正执行前建议先用 `--dry-run` 预览脚本动作
```bash ```bash
# $ curl -fsSL test.docker.com -o get-docker.sh
$ curl -fsSL get.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.3.4 启动 Docker ### 3.3.4 启动 Docker
```bash ```bash
$ sudo systemctl enable docker $ sudo systemctl enable --now docker
$ sudo systemctl start docker
``` ```
### 3.3.5 建立 docker 用户组 ### 3.3.5 建立 docker 用户组
+20 -37
View File
@@ -16,7 +16,7 @@ CentOS (及其替代品 Rocky Linux、AlmaLinux) 是企业级服务器常用的
> **严重警告**CentOS 7 已于 2024 6 30 日结束所有支持不再接收任何安全更新CentOS 8 已于 2021 12 31 日停止维护强烈建议新项目使用 **Rocky Linux** **AlmaLinux** 替代这两个项目由社区维护提供长期支持承诺 > **严重警告**CentOS 7 已于 2024 6 30 日结束所有支持不再接收任何安全更新CentOS 8 已于 2021 12 31 日停止维护强烈建议新项目使用 **Rocky Linux** **AlmaLinux** 替代这两个项目由社区维护提供长期支持承诺
Docker 支持 64 位版本 CentOS Stream 9Rocky Linux 8/9AlmaLinux 8/9并且要求内核版本不低于 3.10 Docker 官方当前安装文档覆盖的 CentOS 平台为 **CentOS Stream 9** **CentOS Stream 10**Rocky LinuxAlmaLinux RHEL 兼容发行版通常可以沿用相近步骤但建议先在测试环境验证仓库与依赖是否匹配
对于 Rocky LinuxAlmaLinux CentOS Stream推荐使用 `dnf` 包管理器 对于 Rocky LinuxAlmaLinux CentOS Stream推荐使用 `dnf` 包管理器
@@ -46,23 +46,16 @@ $ sudo yum remove docker \
执行以下命令安装依赖包 执行以下命令安装依赖包
```bash ```bash
$ sudo dnf install -y dnf-utils $ sudo dnf install -y dnf-plugins-core
``` ```
鉴于国内网络问题强烈建议使用国内源官方源请在注释中查看 默认建议优先使用 Docker 官方仓库如果企业内网维护了受信任镜像站可自行替换仓库 URL
执行下面的命令添加 `yum` 软件源 执行下面的命令添加 `yum` 软件源
```bash ```bash
$ sudo dnf config-manager \ $ sudo dnf config-manager \
--add-repo \ --add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo
$ sudo sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
# 官方源
# $ sudo dnf config-manager \
# --add-repo \
# https://download.docker.com/linux/centos/docker-ce.repo
``` ```
如果需要测试版本的 Docker 请执行以下命令 如果需要测试版本的 Docker 请执行以下命令
@@ -72,53 +65,43 @@ $ sudo dnf config-manager --set-enabled docker-ce-test
#### 安装 Docker #### 安装 Docker
更新 `dnf` 软件源缓存并安装 `docker-ce` 更新 `dnf` 软件源缓存并安装 Docker Engine 及常用 CLI 插件
```bash ```bash
$ sudo dnf install docker-ce docker-ce-cli containerd.io $ sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
``` ```
### 3.4.3 CentOS8 额外设置 ### 3.4.3 防火墙注意事项
CentOS 8/Stream 默认使用 `nftables`Docker 在新版本中已提供 `nftables` 实验支持但在一些环境下仍可能遇到兼容性问题若你遇到容器网络异常可以先切换回 `iptables` 后端 Docker 官方提醒如果主机使用 `ufw` `firewalld` 管理防火墙容器暴露出的端口可能绕过现有规则同时 Docker 仅兼容 `iptables-nft` `iptables-legacy`不支持直接由 `nft` 创建的规则集
更改 `/etc/firewalld/firewalld.conf` 因此生产环境中更稳妥的做法是
```bash - 明确使用 `iptables-nft` `iptables-legacy` 维护规则
## FirewallBackend=nftables - 需要限制容器流量时优先把自定义规则写入 `DOCKER-USER`
- 在变更防火墙策略前先用测试容器验证端口暴露和东西向流量是否符合预期
FirewallBackend=iptables
```
或者执行如下命令
```bash
$ firewall-cmd --permanent --zone=trusted --add-interface=docker0
$ firewall-cmd --reload
```
### 3.4.4 使用脚本自动安装 ### 3.4.4 使用脚本自动安装
在测试或开发环境中 Docker 官方为了简化安装流程提供了一套便捷安装脚本CentOS 系统上可以使用这套脚本安装另外可以通过 `--mirror` 选项使用国内源进行安装 在测试或开发环境中Docker 官方提供了便捷安装脚本但官方明确不建议把它作为生产环境的标准安装方式
> 若你想安装测试版的 Docker请从 test.docker.com 获取脚本 在真正执行前建议先用 `--dry-run` 预览脚本动作
```bash ```bash
# $ curl -fsSL test.docker.com -o get-docker.sh
$ curl -fsSL get.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.4.5 启动 Docker ### 3.4.5 启动 Docker
```bash ```bash
$ sudo systemctl enable docker $ sudo systemctl enable --now docker
$ sudo systemctl start docker
``` ```
### 3.4.6 建立 docker 用户组 ### 3.4.6 建立 docker 用户组
+29 -46
View File
@@ -28,63 +28,57 @@
Docker ARM 架构有着良好的支持 Docker ARM 架构有着良好的支持
Docker 不仅支持 `x86_64` 架构的计算机同时也支持 `ARM` 架构的计算机本小节内容以树莓派单片电脑为例讲解 `ARM` 架构安装 Docker Docker 可以运行在多种 CPU 架构但本小节**只聚焦 Raspberry Pi OS 32-bit (armhf)** 的官方安装流程如果你使用的是 64 Raspberry Pi OS请直接参考 Debian `arm64` 安装说明
Docker 支持以下版本的 [Raspberry Pi OS](https://www.raspberrypi.org/software/operating-systems/) 操作系统: Docker 官方目前单独提供的是 **Raspberry Pi OS 32-bit (armhf)** 安装页支持情况如下
* Raspberry Pi OS Trixie
* Raspberry Pi OS Bookworm * Raspberry Pi OS Bookworm
* Raspberry Pi OS Bullseye * Raspberry Pi OS Bullseye
> **重要提醒**Docker Engine v28 是官方最后一个支持 Raspberry Pi OS 32-bit (armhf) 的大版本 v29 开始32 Raspberry Pi OS 不再提供新主版本软件包若你使用的是 64 Raspberry Pi OS请直接参考 Debian `arm64` 安装方式
**`Raspberry Pi OS` 由树莓派的开发与维护机构[树莓派基金会](https://www.raspberrypi.org/)官方支持,并推荐用作树莓派的首选系统,其基于 `Debian`。 **`Raspberry Pi OS` 由树莓派的开发与维护机构[树莓派基金会](https://www.raspberrypi.org/)官方支持,并推荐用作树莓派的首选系统,其基于 `Debian`。
### 3.5.2 使用 APT 安装 ### 3.5.2 使用 APT 安装
推荐使用 APT 包管理器进行安装以确保版本的稳定性和安全性 推荐使用 APT 包管理器进行安装以确保版本的稳定性和安全性
由于 apt 源使用 HTTPS 以确保软件下载过程中不被篡改因此我们首先需要添加使用 HTTPS 传输的软件包以及 CA 证书 先安装基础依赖并准备密钥目录
```bash ```bash
$ sudo apt-get update $ sudo apt-get update
$ sudo apt-get install \ $ sudo apt-get install \
apt-transport-https \
ca-certificates \ ca-certificates \
curl \ curl \
gnupg \ gnupg
lsb-release
``` ```
鉴于国内网络问题强烈建议使用国内源官方源请在注释中查看 默认建议优先使用 Docker 官方仓库如果企业内网维护了受信任镜像站可自行替换仓库 URL
为了确认所下载软件包的合法性需要添加软件源的 GPG 密钥 为了确认所下载软件包的合法性需要添加软件源的 GPG 密钥
```bash ```bash
$ sudo install -m 0755 -d /etc/apt/keyrings $ sudo install -m 0755 -d /etc/apt/keyrings
$ curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/raspbian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg $ sudo curl -fsSL https://download.docker.com/linux/raspbian/gpg -o /etc/apt/keyrings/docker.asc
$ sudo chmod a+r /etc/apt/keyrings/docker.gpg $ sudo chmod a+r /etc/apt/keyrings/docker.asc
# 官方源
# $ sudo install -m 0755 -d /etc/apt/keyrings
# $ curl -fsSL https://download.docker.com/linux/raspbian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
# $ sudo chmod a+r /etc/apt/keyrings/docker.gpg
``` ```
然后我们需要向 `sources.list` 中添加 Docker 软件源 然后我们需要向 `sources.list` 中添加 Docker 软件源
```bash ```bash
$ echo \ $ sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/raspbian \ Types: deb
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null URIs: https://download.docker.com/linux/raspbian
Suites: $(. /etc/os-release && echo "$VERSION_CODENAME")
# 官方源 Components: stable
# $ echo \ Architectures: $(dpkg --print-architecture)
# "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/raspbian \ Signed-By: /etc/apt/keyrings/docker.asc
# $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null EOF
``` ```
> 以上命令会添加稳定版本的 Docker APT 如果需要测试版本的 Docker 请将 stable 改为 test > 以上命令会添加稳定版本的 Docker APT 如果需要测试版本的 Docker 请将 stable 改为 test
#### 报错解决办法 #### 报错解决办法
`Raspberry Pi OS Bullseye/Bookworm` 如果你使用 `add-apt-repository` 添加源可能会出现如下报错 (推荐改用上面的 `tee` 方式来写入 `/etc/apt/sources.list.d/docker.list`可避免此问题) `Raspberry Pi OS Bullseye/Bookworm` 如果你使用 `add-apt-repository` 添加源可能会出现如下报错官方当前更推荐的做法是**不要继续回退到旧式单行 `deb` 配置**而是直接使用上面的 `docker.sources` 文件方式写入仓库
```bash ```bash
Traceback (most recent call last): Traceback (most recent call last):
@@ -98,50 +92,39 @@ Traceback (most recent call last):
raise NoDistroTemplateException( raise NoDistroTemplateException(
aptsources.distro.NoDistroTemplateException: Error: could not find a distribution template for Raspbian/bullseye aptsources.distro.NoDistroTemplateException: Error: could not find a distribution template for Raspbian/bullseye
``` ```
通过以下命令手动添加镜像源到 `/etc/apt/sources.list` 文件中即可解决 如果之前已经写入了错误的源配置建议先删除旧条目再重新执行本节前面的 `docker.asc + docker.sources` 两步
```bash
$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/raspbian $(lsb_release -cs) stable" | sudo tee -a /etc/apt/sources.list
## 官方源
# $ echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/raspbian $(lsb_release -cs) stable" | sudo tee -a /etc/apt/sources.list
```
#### 安装 Docker #### 安装 Docker
更新 apt 软件包缓存并安装 `docker-ce` 更新 apt 软件包缓存并安装 Docker Engine 及常用 CLI 插件
```bash ```bash
$ sudo apt-get update $ sudo apt-get update
$ sudo apt-get install docker-ce $ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
``` ```
### 3.5.3 使用脚本自动安装 ### 3.5.3 使用脚本自动安装
在测试或开发环境中 Docker 官方为了简化安装流程提供了一套便捷安装脚本Raspberry Pi OS 系统上可以使用这套脚本安装另外可以通过 `--mirror` 选项使用国内源进行安装 在测试或开发环境中Docker 官方提供了便捷安装脚本但官方明确不建议把它作为生产环境的标准安装方式
> 若你想安装测试版的 Docker请从 test.docker.com 获取脚本 在真正执行前建议先用 `--dry-run` 预览脚本动作
```bash ```bash
# $ curl -fsSL test.docker.com -o get-docker.sh
$ curl -fsSL get.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` 安装稳定版如果你运行的是 64 Raspberry Pi OS更推荐直接迁移到 Debian `arm64` 安装路径而不是继续停留在 32 armhf 流程上
### 3.5.4 启动 Docker ### 3.5.4 启动 Docker
```bash ```bash
$ sudo systemctl enable docker $ sudo systemctl enable --now docker
$ sudo systemctl start docker
``` ```
### 3.5.5 建立 docker 用户组 ### 3.5.5 建立 docker 用户组
+61 -128
View File
@@ -10,235 +10,167 @@
在无法连接外网的安全环境中离线安装是唯一的选择本节介绍如何在 RHEL 系发行版中进行离线安装 在无法连接外网的安全环境中离线安装是唯一的选择本节介绍如何在 RHEL 系发行版中进行离线安装
> 注意以下命令以 CentOS 7 为例对于 CentOS Stream 9Rocky Linux 9 AlmaLinux 9请将 `yum` 替换为 `dnf`并将软件包后缀 `el7` 替换为 `el9` > 注意Docker 官方当前支持的 RHEL 兼容平台基线已是 **CentOS Stream 9/10**下面的离线示例建议统一按 `el9` 软件包和 `dnf` 流程准备Rocky Linux 9AlmaLinux 9 也可先在测试环境按相同思路验证
### 3.6.1.1 YUM 本地文件安装推荐 ### 3.6.1.1 本地 RPM 文件安装推荐
推荐这种方式是因为在生产环境中一般会选定某个指定的文档软件版本使用 推荐这种方式是因为在生产环境中一般会选定某个指定的 Docker 软件版本使用
#### 查询可用的软件版本 #### 查询可用的软件版本
```bash ```bash
#下载清华的镜像源文件 $ sudo dnf -y install dnf-plugins-core
wget -O /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo $ sudo dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo
$ sudo dnf list docker-ce --showduplicates | sort -r
sudo sed -i 's+download.docker.com+mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo
yum update
``` ```
```bash ```bash
sudo yum list docker-ce --showduplicates|sort -r docker-ce.x86_64 3:29.4.0-1.el9 docker-ce-stable
docker-ce.x86_64 3:29.3.1-1.el9 docker-ce-stable
Loading mirror speeds from cached hostfile docker-ce.x86_64 3:29.3.0-1.el9 docker-ce-stable
Loaded plugins: fastestmirror
docker-ce.x86_64 24.0.4-1.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.7-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.6-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.5-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.4-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.3-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.2-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.1-3.el7 docker-ce-stable
....
``` ```
#### 下载到指定文件夹 #### 下载到指定文件夹
```bash ```bash
sudo yum install --downloadonly --downloaddir=/tmp/docker24_offline_install/ docker-ce-24.0.4-1.el7 docker-ce-cli-24.0.4-1.el7 sudo dnf install --downloadonly --downloaddir=/tmp/docker_offline_install/ \
``` docker-ce-<VERSION_STRING> \
```bash docker-ce-cli-<VERSION_STRING> \
Dependencies Resolved containerd.io \
docker-buildx-plugin \
==================================================================================================================================================================================== docker-compose-plugin
Package Arch Version Repository Size
====================================================================================================================================================================================
Installing:
docker-ce x86_64 24.0.4-1.el7 docker 25 M
Installing for dependencies:
container-selinux noarch 24.0.4-1.el7 extras 39 k
containerd.io x86_64 24.0.4-1.el7 docker 23 M
docker-ce-cli x86_64 24.0.4-1.el7 docker 40 M
Transaction Summary
====================================================================================================================================================================================
Install 1 Package (+3 Dependent packages)
Total download size: 87 M
Installed size: 363 M
Background downloading packages, then exiting:
(1/4): container-selinux-24.0.4-1.el7.noarch.rpm | 39 kB 00:00:00
(2/4): containerd.io-24.0.4-1.el7.x86_64.rpm | 23 MB 00:00:00
(3/4): docker-ce-24.0.4-1.el7.x86_64.rpm | 25 MB 00:00:00
(4/4): docker-ce-cli-24.0.4-1.el7.x86_64.rpm | 40 MB 00:00:00
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 118 MB/s | 87 MB 00:00:00
exiting because "Download Only" specified
``` ```
#### 复制到目标服务器之后进入文件夹安装C-N 下载完成后 `/tmp/docker_offline_install/` 目录中的全部 RPM 文件复制到离线目标服务器
* 离线安装时必须使用 rpm 命令不检查依赖的方式安装 #### 在目标服务器进入文件夹后安装
* 离线安装时不要使用 `rpm --nodeps --force` 跳过依赖检查应先把完整依赖包集复制到目标服务器再让 `dnf` 从本地 RPM 安装
```bash ```bash
rpm -Uvh *.rpm --nodeps --force $ sudo dnf install ./*.rpm
``` ```
#### 锁定软件版本C-N #### 锁定软件版本可选
**下载锁定版本软件** **下载锁定版本软件**
可参考下文的网络源搭建 可参考下文的网络源搭建
```bash ```bash
sudo yum install yum-plugin-versionlock $ sudo dnf install 'dnf-command(versionlock)'
``` ```
**锁定软件版本** **锁定软件版本**
```bash ```bash
sudo yum versionlock add docker $ sudo dnf versionlock add docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
``` ```
**查看锁定列表** **查看锁定列表**
```bash ```bash
sudo yum versionlock list $ sudo dnf versionlock list
```
```bash
Loaded plugins: fastestmirror, versionlock
3:docker-ce-24.0.4-1.el7.*
versionlock list done
``` ```
**锁定后无法再更新** **锁定后无法再更新**
```bash ```bash
sudo yum install docker-ce $ sudo dnf upgrade docker-ce
Loaded plugins: fastestmirror, versionlock
Loading mirror speeds from cached hostfile
Excluding 1 update due to versionlock (use "yum versionlock status" to show it)
Package 3:docker-ce-24.0.4-1.el7.x86_64 already installed and latest version
Nothing to do
``` ```
**解锁指定软件** **解锁指定软件**
```bash ```bash
sudo yum versionlock delete docker-ce $ sudo dnf versionlock delete docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
```
```bash
Loaded plugins: fastestmirror, versionlock
Deleting versionlock for: 3:docker-ce-24.0.4-1.el7.*
versionlock deleted: 1
``` ```
**解锁所有软件** **解锁所有软件**
```bash ```bash
sudo yum versionlock delete all $ sudo dnf versionlock clear
``` ```
### 3.6.1.2 YUM 本地服务器搭建安装 Docker #### 3.6.1.2 本地仓库服务器搭建安装 Docker
#### 挂载 ISO 镜像搭建本地 File ##### 挂载 ISO 镜像搭建本地 File
```bash ```bash
## 删除其他网络源 ## 删除其他网络源
rm -f /etc/yum.repos.d/* $ sudo rm -f /etc/yum.repos.d/*
## 挂载光盘或者iso镜像 ## 挂载光盘或者iso镜像
mount /dev/cdrom /mnt $ sudo mount /dev/cdrom /mnt
``` ```
```bash ```bash
## 添加本地源 ## 添加本地源
cat >/etc/yum.repos.d/local_files.repo<< EOF $ sudo tee /etc/yum.repos.d/local-base.repo <<EOF
[Local_Files] [local_base]
name=Local_Files name=local_base
baseurl=file:///mnt baseurl=file:///mnt
enabled=1 enabled=1
gpgcheck=0 gpgcheck=0
gpgkey=file:///mnt/RPM-GPG-KEY-CentOS-7
EOF EOF
``` ```
```bash ```bash
## 测试刚才的本地源,安装createrepo软件 ## 测试刚才的本地源,安装createrepo软件
yum clean all $ sudo dnf clean all
yum install createrepo -y $ sudo dnf install -y createrepo_c httpd
``` ```
#### 根据本地文件搭建 BASE 网络源 ##### 根据本地文件搭建 BaseOS/AppStream 网络源
```bash ```bash
## 安装apache 服务器 ## 安装apache 服务器
yum install httpd -y
## 挂载光盘
mount /dev/cdrom /mnt
## 新建centos目录 ## 新建centos目录
mkdir /var/www/html/base $ sudo mkdir -p /var/www/html/base
## 复制光盘内的文件到刚才新建的目录 ## 复制光盘内的文件到刚才新建的目录
cp -R /mnt/Packages/* /var/www/html/base/ $ sudo cp -R /mnt/* /var/www/html/base/
createrepo /var/www/html/base/ $ sudo createrepo_c /var/www/html/base/
systemctl enable httpd $ sudo systemctl enable --now httpd
systemctl start httpd
``` ```
#### 下载 Docker-CE 镜像仓库 ##### 下载 Docker CE 仓库内容
在有网络的服务器上下载 Docker-ce 镜像 在有网络的服务器上同步 Docker CE RPM
```bash ```bash
## 下载清华的镜像源文件 $ sudo dnf -y install dnf-plugins-core
$ sudo dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo
wget -O /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo $ mkdir -p /tmp/docker-ce
sudo sed -i 's+download.docker.com+mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo $ sudo dnf reposync --repo=docker-ce-stable --download-path=/tmp/docker-ce
```
```bash
## 新建 docker-ce目录
mkdir /tmp/docker-ce/
## 把镜像源同步到镜像文件中
reposync -r docker-ce-stable -p /tmp/docker-ce/
``` ```
#### 创建仓库索引 ##### 创建仓库索引
把下载的 docker-ce 文件夹复制到离线的服务器 把下载的 docker-ce 文件夹复制到离线的服务器
```bash ```bash
## 把 docker-ce 文件夹复制到 /var/www/html/docker-ce ## 把 docker-ce 文件夹复制到 /var/www/html/docker-ce
## 重建索引 $ sudo createrepo_c /var/www/html/docker-ce/
createrepo /var/www/html/docker-ce/
``` ```
#### YUM 客户端设置C...N ##### DNF 客户端设置
```bash ```bash
rm -f /etc/yum.repos.d/* $ sudo rm -f /etc/yum.repos.d/*
cat >/etc/yum.repos.d/local_files.repo<< EOF $ sudo tee /etc/yum.repos.d/local-files.repo <<EOF
[local_base] [local_base]
name=local_base name=local_base
## 改成B服务器地址 ## 改成仓库服务器地址
baseurl=http://x.x.x.x/base baseurl=http://x.x.x.x/base
enabled=1 enabled=1
gpgcheck=0 gpgcheck=0
proxy=_none_ proxy=_none_
[docker_ce] [docker-ce-stable]
name=docker_ce name=docker-ce-stable
## 改成B服务器地址 ## 改成仓库服务器地址
baseurl=http://x.x.x.x/docker-ce baseurl=http://x.x.x.x/docker-ce
enabled=1 enabled=1
@@ -248,10 +180,11 @@ EOF
``` ```
#### Docker 安装C...N ##### 安装 Docker
```bash ```bash
sudo yum makecache fast $ sudo dnf makecache
sudo yum install docker-ce docker-ce-cli containerd.io $ sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl enable docker $ sudo systemctl enable --now docker
$ sudo docker run hello-world
``` ```
+8 -16
View File
@@ -10,8 +10,8 @@ macOS 上没有原生 Linux 内核,Docker 需要运行在一个轻量级虚拟
- 内存使用Docker Desktop 本身会消耗一定内存用于虚拟机管理 - 内存使用Docker Desktop 本身会消耗一定内存用于虚拟机管理
**许可考虑** **许可考虑**
- 个人开发和小团队可免费使用 - 小型企业少于 250 名员工且年收入低于 1000 万美元个人使用教育和非商业开源项目可免费使用
- 商业企业需要关注许可费用 - 超出上述范围的商业用途需要付费订阅
### 3.7.1 系统要求 ### 3.7.1 系统要求
@@ -20,23 +20,15 @@ macOS 上没有原生 Linux 内核,Docker 需要运行在一个轻量级虚拟
### 3.7.2 安装 ### 3.7.2 安装
> [!WARNING] > [!WARNING]
> **商业许可限制** 2021 年起Docker Desktop 型企业少于 250 名员工且年收入 1000 万美元个人使用教育和非商业开源项目仍然免费对于其他商业用途需要付费订阅企业用户请注意合规风险或考虑使用开源替代方案 > **商业许可限制**Docker Desktop 型企业少于 250 名员工且年收入 1000 万美元个人使用教育和非商业开源项目仍然免费超出上述范围的商业用途需要付费订阅企业用户请注意合规风险
Docker Desktop Mac 用户提供了无缝的 Docker 体验你可以选择使用 Homebrew 或手动下载安装包进行安装 Docker Desktop Mac 用户提供了标准的图形化安装体验官方当前主要提供 DMG 交互安装和命令行/企业部署安装这里先介绍最常见的 DMG 安装方式
#### 使用 Homebrew 安装
[Homebrew](https://brew.sh/) 的 [Cask](https://github.com/Homebrew/homebrew-cask) 已经支持 Docker Desktop for Mac,因此可以很方便的使用 Homebrew Cask 来进行安装:
```bash
$ brew install --cask docker
```
#### 手动下载安装 #### 手动下载安装
如果需要手动下载请点击以下[链接](https://desktop.docker.com/mac/main/amd64/Docker.dmg)下载 Docker Desktop for Mac 如果需要手动下载可直接使用 [Docker Desktop for Mac Intel ](https://desktop.docker.com/mac/main/amd64/Docker.dmg) 安装包
> 如果你的电脑搭载的是 Apple Silicon 芯片 (`arm64` 架构)点击以下[链接](https://desktop.docker.com/mac/main/arm64/Docker.dmg)下载 Docker Desktop for Mac > 如果你的电脑搭载的是 Apple Silicon 芯片`arm64` 架构使用 [Docker Desktop for Mac Apple Silicon ](https://desktop.docker.com/mac/main/arm64/Docker.dmg)。
如同 macOS 其它软件一样安装也非常简单双击下载的 `.dmg` 文件然后将那只叫 [Moby](https://www.docker.com/blog/call-me-moby-dock/) 的鲸鱼图标拖拽到 `Application` 文件夹即可 (其间需要输入用户密码)。 如同 macOS 其它软件一样安装也非常简单双击下载的 `.dmg` 文件然后将那只叫 [Moby](https://www.docker.com/blog/call-me-moby-dock/) 的鲸鱼图标拖拽到 `Application` 文件夹即可 (其间需要输入用户密码)。
@@ -67,11 +59,11 @@ $ docker info
```bash ```bash
$ docker run -d -p 80:80 --name webserver nginx $ docker run -d -p 80:80 --name webserver nginx
``` ```
服务运行后可以访问 [http://localhost](http://localhost)如果看到了 Welcome to nginx!”,就说明 Docker Desktop for Mac 安装成功了。 服务运行后可以访问 [http://localhost](http://localhost)如果看到了 `Welcome to nginx!`,就说明 Docker Desktop for Mac 安装成功了。
![](../_images/install-mac-example-nginx.png) ![](../_images/install-mac-example-nginx.png)
要停止 Nginx 服务器并删除执行下面的命令 要停止并删除 Nginx 容器执行下面的命令
```bash ```bash
$ docker stop webserver $ docker stop webserver
+9 -5
View File
@@ -17,22 +17,26 @@
- 性能略低于 WSL 2 - 性能略低于 WSL 2
- 在某些企业网络环境下仍被使用 - 在某些企业网络环境下仍被使用
**实践建议**如果你的系统支持 WSL 2强烈推荐使用 WSL 2在安装 Docker Desktop 如果 WSL 2 环境检测无问题安装程序会自动使用 WSL 2 **实践建议**WSL 2 Hyper-V 在功能上都能满足 Docker Desktop 的日常开发需求选择哪种后端应以机器能力企业策略和你的工作流为准如果系统只满足其中一种后端的前置条件安装器才会自动选择可用的那一种
### 3.8.1 系统要求 ### 3.8.1 系统要求
[Docker Desktop for Windows](https://docs.docker.com/desktop/setup/install/windows-install/) 支持 Docker 官方文档列出的受支持 Windows 10/11 64 位版本。若使用 WSL 2 后端,需要启用 WSL 2,并满足官方要求的 `WSL 2.1.5` 或更高版本;若使用 Hyper-V 后端,则需要启用 Hyper-V 和 Containers 功能。Windows 10 64 位支持 Enterprise、Pro 和 Education 22H2 (build 19045)Windows 11 64 位支持 Enterprise、Pro 和 Education 23H2 (build 22631) 或更高版本。 [Docker Desktop for Windows](https://docs.docker.com/desktop/setup/install/windows-install/) 支持 Docker 官方文档列出的受支持 Windows 10/11 64 位版本。若使用 WSL 2 后端,需要启用 WSL 2,并满足官方要求的 `WSL 2.1.5` 或更高版本;若使用 Hyper-V 后端,则需要启用 Hyper-V 和 Containers 功能。Windows 10 64 位支持 Enterprise、Pro 和 Education 22H2build 19045Windows 11 64 位支持 Enterprise、Pro 和 Education 23H2build 22631或更高版本,且官方建议主机至少具备 8 GB 内存
### 3.8.2 安装 ### 3.8.2 安装
> [!WARNING] > [!WARNING]
> **商业许可限制** 2021 年起Docker Desktop 型企业少于 250 名员工且年收入少于 1000 万美元个人使用教育和非商业开源项目仍然免费对于其他商业用途需要付费订阅企业用户请注意合规风险或考虑使用开源替代方案 > **商业许可限制**Docker Desktop 型企业少于 250 名员工且年收入少于 1000 万美元个人使用教育和非商业开源项目仍然免费对于其他商业用途以及政府机构使用需要付费订阅企业用户请注意合规风险
**手动下载安装** **手动下载安装**
点击以下[链接](https://desktop.docker.com/win/main/amd64/Docker%20Desktop%20Installer.exe)下载 Docker Desktop for Windows。 官方当前提供三个主要入口
下载好之后双击 `Docker Desktop Installer.exe` 开始安装 - [Docker Desktop for Windows x86_64 安装包](https://desktop.docker.com/win/main/amd64/Docker%20Desktop%20Installer.exe)
- [Docker Desktop for Windows Microsoft Store 版本](https://apps.microsoft.com/detail/XP8CBJ40XLBWKX)
- [Docker Desktop for Windows Arm 早期访问版](https://desktop.docker.com/win/main/arm64/Docker%20Desktop%20Installer.exe)
下载好对应安装包后双击 `Docker Desktop Installer.exe` 开始安装
**使用**[**winget**](https://learn.microsoft.com/windows/package-manager/winget/)**安装** **使用**[**winget**](https://learn.microsoft.com/windows/package-manager/winget/)**安装**
+9 -9
View File
@@ -11,10 +11,10 @@
> **重要提示**国内大多数 Docker Hub 加速服务已于 2024 年中旬关闭包括阿里云腾讯云网易云百度云等如下推荐的镜像源可用性因人而异建议先测试可用性再配置 > **重要提示**国内大多数 Docker Hub 加速服务已于 2024 年中旬关闭包括阿里云腾讯云网易云百度云等如下推荐的镜像源可用性因人而异建议先测试可用性再配置
1. **云服务器用户**优先使用所在云平台提供的内部加速器见本页末尾"云服务商"部分 1. **云服务器用户**优先使用所在云平台提供的内部加速器见本页末尾"云服务商"部分
2. **本地开发用户**从以下社区维护的镜像中选择推荐 `docker.1ms.run``dockerproxy.net` DaoCloud `docker.m.daocloud.io` 2. **本地开发用户**优先使用自建 pull-through cache如果必须依赖社区镜像请先用上面的测试仓库确认实时可用性
3. **代理方案**如有条件可配置 HTTP 代理直接访问 Docker Hub 3. **代理方案**如有条件可配置 HTTP 代理直接访问 Docker Hub
本节以 [毫秒镜像](https://docker.1ms.run) 镜像服务 `https://docker.1ms.run` 为例进行介绍。由于镜像加速服务可用性经常变动,建议查阅 [docker-practice/docker-registry-cn-mirror-test](https://github.com/docker-practice/docker-registry-cn-mirror-test) 获取最新实时状态。 更稳妥的长期方案是使用**自己控制的 pull-through cache / registry mirror**或者优先使用云厂商提供的内网镜像下文统一用 `https://<your-registry-mirror>` 作为占位符如果你选择第三方公共站请先确认可用性服务条款和缓存策略
### 3.9.2 Ubuntu 22.04+Debian 12+Rocky/Alma/CentOS Stream 9+ ### 3.9.2 Ubuntu 22.04+Debian 12+Rocky/Alma/CentOS Stream 9+
@@ -32,7 +32,7 @@ $ systemctl cat docker | grep '\-\-registry\-mirror'
```json ```json
{ {
"registry-mirrors": [ "registry-mirrors": [
"https://docker.1ms.run" "https://<your-registry-mirror>"
] ]
} }
``` ```
@@ -47,12 +47,12 @@ $ sudo systemctl restart docker
### 3.9.3 Windows 10/11 ### 3.9.3 Windows 10/11
对于使用 `Windows 10/11` 的用户在任务栏托盘 Docker 图标内右键菜单选择 `Change settings`打开配置窗口后在左侧导航菜单选择 `Docker Engine`在右侧像下边一样编辑 json 文件之后点击 `Apply & Restart` 保存后 Docker 就会重启并应用配置的镜像地址了 对于使用 `Windows 10/11` 的用户在任务栏托盘 Docker 图标内打开 `Settings`在左侧导航菜单选择 `Docker Engine`在右侧像下边一样编辑 JSON 文件之后点击 `Apply & Restart` 保存后 Docker 就会重启并应用配置的镜像地址了
```json ```json
{ {
"registry-mirrors": [ "registry-mirrors": [
"https://docker.1ms.run" "https://<your-registry-mirror>"
] ]
} }
``` ```
@@ -64,7 +64,7 @@ $ sudo systemctl restart docker
```json ```json
{ {
"registry-mirrors": [ "registry-mirrors": [
"https://docker.1ms.run" "https://<your-registry-mirror>"
] ]
} }
``` ```
@@ -75,12 +75,12 @@ $ sudo systemctl restart docker
```bash ```bash
Registry Mirrors: Registry Mirrors:
https://docker.1ms.run/ https://<your-registry-mirror>/
``` ```
### 3.9.6 Kubernetes 官方镜像地址迁移 ### 3.9.6 Kubernetes 官方镜像地址迁移
可以登录[阿里云容器镜像服务](https://www.aliyun.com/product/acr?source=5176.11533457&userCode=8lx5zmtu&type=copy)**镜像中心**->**镜像搜索** 查找。 可以登录 [阿里云容器镜像服务](https://www.aliyun.com/product/acr?source=5176.11533457&userCode=8lx5zmtu&type=copy),在 **镜像中心** -> **镜像搜索** 查找。
Kubernetes 社区已将官方镜像地址从 `k8s.gcr.io` 迁移到 `registry.k8s.io`建议优先使用新地址 Kubernetes 社区已将官方镜像地址从 `k8s.gcr.io` 迁移到 `registry.k8s.io`建议优先使用新地址
@@ -102,7 +102,7 @@ $ docker pull registry.k8s.io/xxx
* https://hub-mirror.c.163.com (网易云镜像已于 2024 年关闭) * https://hub-mirror.c.163.com (网易云镜像已于 2024 年关闭)
* https://mirror.baidubce.com (百度云镜像已停止) * https://mirror.baidubce.com (百度云镜像已停止)
建议 **watch (页面右上角)** [镜像测试仓库](https://github.com/docker-practice/docker-registry-cn-mirror-test) 这个 GitHub 仓库,我们会实时更新各镜像源的可用状态。 建议 **watch页面右上角** [镜像测试仓库](https://github.com/docker-practice/docker-registry-cn-mirror-test) 这个 GitHub 仓库,我们会持续更新各镜像源的可用状态。
### 3.9.8 云服务商 ### 3.9.8 云服务商
+2 -2
View File
@@ -1,8 +1,8 @@
# 第三章 安装 Docker # 第三章 安装 Docker
Docker 分为 `stable` `test` `nightly` 三个更新频道 Docker Engine 主要提供 `stable` `test` 两个更新频道`test.docker.com` 对应测试频道适合预发布验证不建议直接用于生产环境
官方网站上有各种环境下的[安装指南](https://docs.docker.com/get-docker/),这里主要介绍 Docker 在 `Linux`、`Windows 10` 和 `macOS` 上的安装。 官方网站上有各种环境下的[安装指南](https://docs.docker.com/get-docker/),这里主要介绍 Docker 在 `Linux`、`Windows 10/11` 和 `macOS` 上的安装。
## 安装方式选择指南 ## 安装方式选择指南
+4 -4
View File
@@ -5,10 +5,10 @@ Docker 支持在多种平台上安装和使用,选择合适的安装方式是
| 平台 | 推荐方式 | 说明 | | 平台 | 推荐方式 | 说明 |
|------|---------|------| |------|---------|------|
| **Ubuntu/Debian** | 官方 APT 仓库 | 最完善的支持推荐首选 | | **Ubuntu/Debian** | 官方 APT 仓库 | 最完善的支持推荐首选 |
| **CentOS/Fedora** | 官方 YUM/DNF 仓库 | 注意关闭 SELinux 或配置策略 | | **CentOS/Fedora** | 官方 DNF/YUM 仓库 | 注意验证防火墙与 `iptables` 兼容性 |
| **macOS** | Docker Desktop | 图形化安装包含 Compose Kubernetes | | **macOS** | Docker Desktop | 图形化安装默认集成 Compose |
| **Windows 10/11** | Docker Desktop (WSL 2) | 需启用 WSL 2 后端 | | **Windows 10/11** | Docker DesktopWSL 2 Hyper-V | 按机器能力与企业策略选择后端 |
| **Raspberry Pi** | 官方安装脚本 | 支持 ARM 架构 | | **Raspberry Pi** | 官方 APT 仓库或 Debian `arm64` 方案 | 32 位系统已停止接收 v29+ 新主版本 |
| **离线环境** | 二进制包安装 | 适用于无法联网的服务器 | | **离线环境** | 二进制包安装 | 适用于无法联网的服务器 |
### 安装后验证 ### 安装后验证