mirror of
https://github.com/yeasy/docker_practice.git
synced 2026-08-10 16:37:34 +00:00
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:
+20
-37
@@ -16,7 +16,7 @@ CentOS (及其替代品 Rocky Linux、AlmaLinux) 是企业级服务器常用的
|
||||
|
||||
> **严重警告**:CentOS 7 已于 2024 年 6 月 30 日结束所有支持,不再接收任何安全更新。CentOS 8 已于 2021 年 12 月 31 日停止维护。强烈建议新项目使用 **Rocky Linux** 或 **AlmaLinux** 替代,这两个项目由社区维护,提供长期支持承诺。
|
||||
|
||||
Docker 支持 64 位版本 CentOS Stream 9、Rocky Linux 8/9、AlmaLinux 8/9,并且要求内核版本不低于 3.10。
|
||||
Docker 官方当前安装文档覆盖的 CentOS 平台为 **CentOS Stream 9** 和 **CentOS Stream 10**。Rocky Linux、AlmaLinux 等 RHEL 兼容发行版通常可以沿用相近步骤,但建议先在测试环境验证仓库与依赖是否匹配。
|
||||
|
||||
对于 Rocky Linux、AlmaLinux 或 CentOS Stream,推荐使用 `dnf` 包管理器。
|
||||
|
||||
@@ -46,23 +46,16 @@ $ sudo yum remove docker \
|
||||
执行以下命令安装依赖包:
|
||||
|
||||
```bash
|
||||
$ sudo dnf install -y dnf-utils
|
||||
$ sudo dnf install -y dnf-plugins-core
|
||||
```
|
||||
鉴于国内网络问题,强烈建议使用国内源,官方源请在注释中查看。
|
||||
默认建议优先使用 Docker 官方仓库;如果企业内网维护了受信任镜像站,可自行替换仓库 URL。
|
||||
|
||||
执行下面的命令添加 `yum` 软件源:
|
||||
|
||||
```bash
|
||||
$ sudo dnf config-manager \
|
||||
--add-repo \
|
||||
https://mirrors.aliyun.com/docker-ce/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
|
||||
https://download.docker.com/linux/centos/docker-ce.repo
|
||||
```
|
||||
如果需要测试版本的 Docker 请执行以下命令:
|
||||
|
||||
@@ -72,53 +65,43 @@ $ sudo dnf config-manager --set-enabled docker-ce-test
|
||||
|
||||
#### 安装 Docker
|
||||
|
||||
更新 `dnf` 软件源缓存,并安装 `docker-ce`。
|
||||
更新 `dnf` 软件源缓存,并安装 Docker Engine 及常用 CLI 插件。
|
||||
|
||||
```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
|
||||
## FirewallBackend=nftables
|
||||
|
||||
FirewallBackend=iptables
|
||||
```
|
||||
或者执行如下命令:
|
||||
|
||||
```bash
|
||||
$ firewall-cmd --permanent --zone=trusted --add-interface=docker0
|
||||
|
||||
$ firewall-cmd --reload
|
||||
```
|
||||
- 明确使用 `iptables-nft` 或 `iptables-legacy` 维护规则;
|
||||
- 需要限制容器流量时,优先把自定义规则写入 `DOCKER-USER` 链;
|
||||
- 在变更防火墙策略前,先用测试容器验证端口暴露和东西向流量是否符合预期。
|
||||
|
||||
### 3.4.4 使用脚本自动安装
|
||||
|
||||
在测试或开发环境中 Docker 官方为了简化安装流程,提供了一套便捷的安装脚本,CentOS 系统上可以使用这套脚本安装,另外可以通过 `--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.4.5 启动 Docker
|
||||
|
||||
```bash
|
||||
$ sudo systemctl enable docker
|
||||
$ sudo systemctl start docker
|
||||
$ sudo systemctl enable --now docker
|
||||
```
|
||||
|
||||
### 3.4.6 建立 docker 用户组
|
||||
|
||||
Reference in New Issue
Block a user