当前位置: 首页 > news >正文

在 CentOS 9 上安装 Docker 的完整指南

1.准备安装环境

(1)禁用防火墙与SELinux

[root@localhost ~]# systemctl disable --now firewalld.service 
Removed "/etc/systemd/system/multi-user.target.wants/firewalld.service".
Removed "/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service".
[root@localhost ~]# sudo setenforce 0

(2)更改主机名

[root@localhost ~]# hostnamectl set-hostname host1
[root@localhost ~]# bash

2. 永久配置 DNS

CentOS Stream 9 默认用NetworkManager管理网络,需通过其工具永久配置 DNS:

[root@host1 ~]# nmcli connection show
NAME    UUID                                  TYPE      DEVICE 
ens160  19689312-b1bb-3a43-8c2d-d316680ab4a5  ethernet  ens160 
lo      86df2843-123d-41cc-b6ac-1cf41ce141e8  loopback  lo 

假设连接名称为ens160,执行以下命令配置 DNS:

[root@host1 ~]# nmcli connection modify ens160 ipv4.dns "8.8.8.8,114.114.114.114"
[root@host1 ~]# nmcli connection up ens160

验证 DNS 是否生效:

# 查看当前生效的DNS
[root@host1 ~]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 8.8.8.8
nameserver 114.114.114.114
# 再次测试域名解析
[root@host1 ~]# nslookup mirrors.centos.org
Server:8.8.8.8
Address:8.8.8.8#53Non-authoritative answer:
mirrors.centos.orgcanonical name = mirrors.fedoraproject.org.
mirrors.fedoraproject.orgcanonical name = wildcard.fedoraproject.org.
Name:wildcard.fedoraproject.org
Address: 38.145.32.21
Name:wildcard.fedoraproject.org
Address: 152.2.23.103
Name:wildcard.fedoraproject.org
Address: 140.211.169.196
Name:wildcard.fedoraproject.org
Address: 8.43.85.67
Name:wildcard.fedoraproject.org
Address: 34.211.44.206
Name:wildcard.fedoraproject.org
Address: 8.43.85.73
Name:wildcard.fedoraproject.org
Address: 152.2.23.104
Name:wildcard.fedoraproject.org
Address: 67.219.144.68
Name:wildcard.fedoraproject.org
Address: 38.145.32.20
Name:wildcard.fedoraproject.org
Address: 2620:52:6:1121:bead:cafe:feed:fed5
Name:wildcard.fedoraproject.org
Address: 2606:f640:6000:651::7
Name:wildcard.fedoraproject.org
Address: 2606:f640:6000:651::8
Name:wildcard.fedoraproject.org
Address: 2620:52:3:1:dead:beef:cafe:fed6
Name:wildcard.fedoraproject.org
Address: 2605:bc80:3010:600:dead:beef:cafe:fed9
Name:wildcard.fedoraproject.org
Address: 2600:1f14:fad:5c02:5270:306c:35d6:1f81
Name:wildcard.fedoraproject.org
Address: 2620:52:3:1:dead:beef:cafe:fed7
Name:wildcard.fedoraproject.org
Address: 2604:1580:fe00:0:dead:beef:cafe:fed1
Name:wildcard.fedoraproject.org
Address: 2620:52:6:1121:bead:cafe:feed:fed6

3.更换国内镜像源(如阿里云)

(1)备份原有仓库配置

mkdir -p /etc/yum.repos.d/backup
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/

(2)下载阿里云的 CentOS Stream 9 仓库配置

# 下载BaseOS仓库配置
curl -o /etc/yum.repos.d/CentOS-Stream-BaseOS.repo https://mirrors.aliyun.com/repo/Centos-stream-9.repo

(3)清理缓存并重建

yum clean all
yum makecache  # 生成新的缓存

4. 设置仓库

(1)安装 yum-utils 包

[root@host1 ~]# dnf makecache
CentOS Stream 9 - BaseOS (Aliyun)                                    3.0 MB/s | 8.8 MB     00:02    
CentOS Stream 9 - AppStream (Aliyun)                                 3.8 MB/s |  25 MB     00:06    
上次元数据过期检查:0:00:03 前,执行于 2025年09月05日 星期五 16时25分24秒。
元数据缓存已建立。
[root@host1 ~]# dnf install -y yum-utils
上次元数据过期检查:0:00:02 前,执行于 2025年09月05日 星期五 16时26分45秒。
依赖关系解决。
=====================================================================================================软件包                  架构                 版本                        仓库                  大小
=====================================================================================================
安装:yum-utils               noarch               4.3.0-22.el9                baseos                39 k事务概要
=====================================================================================================
安装  1 软件包总下载:39 k
安装大小:23 k
下载软件包:
yum-utils-4.3.0-22.el9.noarch.rpm                                    113 kB/s |  39 kB     00:00    
-----------------------------------------------------------------------------------------------------
总计                                                                 111 kB/s |  39 kB     00:00     
CentOS Stream 9 - BaseOS (Aliyun)                                    3.1 kB/s | 1.6 kB     00:00    
导入 GPG 公钥 0x8483C65D:Userid: "CentOS (CentOS Official Signing Key) <security@centos.org>"指纹: 99DB 70FA E1D7 CE22 7FB6 4882 05B5 55B3 8483 C65D来自: https://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-Official
导入公钥成功
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务准备中  :                                                                                      1/1 安装    : yum-utils-4.3.0-22.el9.noarch                                                        1/1 运行脚本: yum-utils-4.3.0-22.el9.noarch                                                        1/1 验证    : yum-utils-4.3.0-22.el9.noarch                                                        1/1 已安装:yum-utils-4.3.0-22.el9.noarch                                                                      完毕!

(2)添加仓库

[root@host1 ~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
添加仓库自:https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

5. 安装 Docker Engine

[root@host1 ~]# yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
上次元数据过期检查:0:01:31 前,执行于 2025年09月05日 星期五 16时47分16秒。
依赖关系解决。
=====================================================================================================软件包                           架构          版本                   仓库                     大小
=====================================================================================================
安装:containerd.io                    x86_64        1.7.27-3.1.el9         docker-ce-stable         44 Mdocker-buildx-plugin             x86_64        0.27.0-1.el9           docker-ce-stable         17 Mdocker-ce                        x86_64        3:28.4.0-1.el9         docker-ce-stable         21 Mdocker-ce-cli                    x86_64        1:28.4.0-1.el9         docker-ce-stable        8.6 Mdocker-compose-plugin            x86_64        2.39.2-1.el9           docker-ce-stable         15 M
安装弱的依赖:docker-ce-rootless-extras        x86_64        28.4.0-1.el9           docker-ce-stable        3.4 M事务概要
=====================================================================================================
安装  6 软件包总下载:108 M
安装大小:435 M
确定吗?[y/N]: y
下载软件包:
(1/6): docker-buildx-plugin-0.27.0-1.el9.x86_64.rpm                  2.4 MB/s |  17 MB     00:06    
(2/6): docker-ce-28.4.0-1.el9.x86_64.rpm                             2.8 MB/s |  21 MB     00:07    
(3/6): docker-ce-rootless-extras-28.4.0-1.el9.x86_64.rpm             2.4 MB/s | 3.4 MB     00:01    
(4/6): docker-ce-cli-28.4.0-1.el9.x86_64.rpm                         2.7 MB/s | 8.6 MB     00:03    
(5/6): docker-compose-plugin-2.39.2-1.el9.x86_64.rpm                 3.7 MB/s |  15 MB     00:04    
(6/6): containerd.io-1.7.27-3.1.el9.x86_64.rpm                       3.2 MB/s |  44 MB     00:13    
-----------------------------------------------------------------------------------------------------
总计                                                                 7.8 MB/s | 108 MB     00:13     
Docker CE Stable - x86_64                                            5.6 kB/s | 1.6 kB     00:00    
导入 GPG 公钥 0x621E9F35:Userid: "Docker Release (CE rpm) <docker@docker.com>"指纹: 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35来自: https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
确定吗?[y/N]: y
导入公钥成功
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务准备中  :                                                                                      1/1 安装    : docker-buildx-plugin-0.27.0-1.el9.x86_64                                             1/6 运行脚本: docker-buildx-plugin-0.27.0-1.el9.x86_64                                             1/6 安装    : docker-compose-plugin-2.39.2-1.el9.x86_64                                            2/6 运行脚本: docker-compose-plugin-2.39.2-1.el9.x86_64                                            2/6 安装    : docker-ce-cli-1:28.4.0-1.el9.x86_64                                                  3/6 运行脚本: docker-ce-cli-1:28.4.0-1.el9.x86_64                                                  3/6 安装    : containerd.io-1.7.27-3.1.el9.x86_64                                                  4/6 运行脚本: containerd.io-1.7.27-3.1.el9.x86_64                                                  4/6 安装    : docker-ce-rootless-extras-28.4.0-1.el9.x86_64                                        5/6 运行脚本: docker-ce-rootless-extras-28.4.0-1.el9.x86_64                                        5/6 安装    : docker-ce-3:28.4.0-1.el9.x86_64                                                      6/6 运行脚本: docker-ce-3:28.4.0-1.el9.x86_64                                                      6/6 验证    : containerd.io-1.7.27-3.1.el9.x86_64                                                  1/6 验证    : docker-buildx-plugin-0.27.0-1.el9.x86_64                                             2/6 验证    : docker-ce-3:28.4.0-1.el9.x86_64                                                      3/6 验证    : docker-ce-cli-1:28.4.0-1.el9.x86_64                                                  4/6 验证    : docker-ce-rootless-extras-28.4.0-1.el9.x86_64                                        5/6 验证    : docker-compose-plugin-2.39.2-1.el9.x86_64                                            6/6 已安装:containerd.io-1.7.27-3.1.el9.x86_64                 docker-buildx-plugin-0.27.0-1.el9.x86_64       docker-ce-3:28.4.0-1.el9.x86_64                     docker-ce-cli-1:28.4.0-1.el9.x86_64            docker-ce-rootless-extras-28.4.0-1.el9.x86_64       docker-compose-plugin-2.39.2-1.el9.x86_64      完毕!

        查看版本:

[root@host1 ~]# docker --version 
Docker version 28.4.0, build d8eb465

        列出所有版本

[root@host1 ~]# yum list docker-ce --showduplicates | sort -r
docker-ce.x86_64               3:28.4.0-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:28.4.0-1.el9                  @docker-ce-stable
docker-ce.x86_64               3:28.3.3-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:28.3.2-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:28.3.1-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:28.3.0-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:28.2.2-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:28.2.1-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:28.2.0-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:28.1.1-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:28.1.0-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:28.0.4-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:28.0.3-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:28.0.2-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:28.0.1-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:28.0.0-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:27.5.1-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:27.5.0-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:27.4.1-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:27.4.0-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:27.3.1-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:27.3.0-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:27.2.1-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:27.2.0-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:27.1.2-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:27.1.1-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:27.1.0-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:27.0.3-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:27.0.2-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:27.0.1-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:26.1.4-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:26.1.3-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:26.1.2-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:26.1.1-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:26.1.0-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:26.0.2-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:26.0.1-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:26.0.0-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:25.0.5-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:25.0.4-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:25.0.3-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:25.0.2-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:25.0.1-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:25.0.0-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:24.0.9-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:24.0.8-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:24.0.7-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:24.0.6-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:24.0.5-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:24.0.4-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:24.0.3-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:24.0.2-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:24.0.1-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:24.0.0-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:23.0.6-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:23.0.5-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:23.0.4-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:23.0.2-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:23.0.1-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:23.0.0-1.el9                  docker-ce-stable 
docker-ce.x86_64               3:20.10.24-3.el9                docker-ce-stable 
docker-ce.x86_64               3:20.10.23-3.el9                docker-ce-stable 
docker-ce.x86_64               3:20.10.22-3.el9                docker-ce-stable 
docker-ce.x86_64               3:20.10.21-3.el9                docker-ce-stable 
docker-ce.x86_64               3:20.10.20-3.el9                docker-ce-stable 
docker-ce.x86_64               3:20.10.19-3.el9                docker-ce-stable 
docker-ce.x86_64               3:20.10.18-3.el9                docker-ce-stable 
docker-ce.x86_64               3:20.10.17-3.el9                docker-ce-stable 
docker-ce.x86_64               3:20.10.16-3.el9                docker-ce-stable 
docker-ce.x86_64               3:20.10.15-3.el9                docker-ce-stable 
已安装的软件包
上次元数据过期检查:0:05:43 前,执行于 2025年09月05日 星期五 16时47分16秒。
可安装的软件包

        选择版本安装

yum install docker-ce-版本号 #后面一样操作

6. 启动并测试

[root@host1 ~]# systemctl start docker
[root@host1 ~]# docker run hello-world    #运行 hello-world  镜像验证
Unable to find image 'hello-world:latest' locally
docker: Error response from daemon: Get "https://registry-1.docker.io/v2/": context deadline exceededRun 'docker run --help' for more information

7. 镜像加速配置

(1)创建配置文件

sudo mkdir -p /etc/docker

(2)写入阿里云加速配置

tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://jnh8ca4k.mirror.aliyuncs.com"]
}
EOF

(3)重启服务生效

sudo systemctl daemon-reload
sudo systemctl restart docker

⚠️ 关键注意事项

  • 生产环境操作前建议创建系统快照

  • 避免直接使用 sudo rm -rf 清理目录(除非确认无重要数据)

  • 定期执行 dnf update 保持组件更新


文章转载自:

http://r1SFUAqG.ywpwg.cn
http://Yhbi9E3E.ywpwg.cn
http://8lmqADYO.ywpwg.cn
http://VDexUUcm.ywpwg.cn
http://srmMbFpU.ywpwg.cn
http://ucj7bsfo.ywpwg.cn
http://9dCWTT6Q.ywpwg.cn
http://OETqLGLA.ywpwg.cn
http://IA6eFnsb.ywpwg.cn
http://U1h2BXs2.ywpwg.cn
http://v08ZkLuk.ywpwg.cn
http://tbHgVewu.ywpwg.cn
http://aEgNZzAJ.ywpwg.cn
http://FVmyYWIQ.ywpwg.cn
http://rLbcXsY3.ywpwg.cn
http://tx8ItWlE.ywpwg.cn
http://0icBY2BX.ywpwg.cn
http://pnxLs8OU.ywpwg.cn
http://yAiYKgD1.ywpwg.cn
http://6ugFr8r2.ywpwg.cn
http://hbl6L4PI.ywpwg.cn
http://PULxpFPz.ywpwg.cn
http://wZdhkMAB.ywpwg.cn
http://vFwArBGc.ywpwg.cn
http://agVYuyxC.ywpwg.cn
http://l7R9PfLu.ywpwg.cn
http://V7UCOqW6.ywpwg.cn
http://e4334DS5.ywpwg.cn
http://AA5nIOe4.ywpwg.cn
http://JmTolRXR.ywpwg.cn
http://www.dtcms.com/a/368629.html

相关文章:

  • 机器学习算法介绍二
  • 【MYSQL | 高级篇 日志、主从复制与读写分离】
  • IO进程线程;多线程;线程互斥同步;互斥锁;无名信号量;条件变量;0905
  • 虚拟机详细图文教程系列15、Linux虚拟机Centos8系统部署禅道开源项目
  • uniapp开发小程序,列表 点击后加载更多数据
  • 云市场周报 (2025.09.05):解读腾讯云AI安全、阿里数据湖与KubeVela
  • 一键生成PPT的AI工具排名:2025年能读懂你思路的AI演示工具
  • 【数据结构、java学习】数组(Array)
  • 越南电网3D地图
  • 大数据毕业设计选题推荐-基于大数据的分化型甲状腺癌复发数据可视化分析系统-Spark-Hadoop-Bigdata
  • Kubernetes 全景指南:从核心概念到云原生未来
  • 视频监控展示插件-js,支持多种视频格式
  • 2025年国家高新技术企业认定:申报材料和流程详解
  • 【面试场景题】spring应用启动时出现内存溢出怎么排查
  • 【NVIDIA AIQ】自定义函数实践
  • 【RelayMQ】基于 Java 实现轻量级消息队列(六)
  • 解锁 Claude Code 终极工作流:从基础到进阶的全流程指南
  • 深入浅出 全面剖析消息队列(Kafka,RabbitMQ,RocketMQ 等)
  • 工业HMI:人机交互的核心与智能制造的桥梁
  • 解决rt_pin_get返回错误码的问题
  • 基于单片机汽车防撞系统设计
  • Java 提取 PDF 文件内容:告别手动复制粘贴,拥抱自动化解析!
  • 【AI总结】Python BERT 向量化入门指南
  • 《sklearn机器学习——回归指标2》
  • 投资储能项目能赚多少钱?小程序帮你测算
  • 基于开源AI智能名片链动2+1模式S2B2C商城小程序的公益课引流策略研究
  • 医疗问诊陪诊小程序:以人性化设计构建健康服务新生态
  • modbus_tcp和modbus_rtu对比移植AT-socket,modbus_tcp杂记
  • 云手机的空间会占用本地内存吗
  • HTML 各种事件的使用说明书