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

6、CentOS 9 安装 Docker

🐳 CentOS 9 安装 Docker 最全图文教程(含镜像源优化与常见问题解决)

标签:CentOS 9、Docker、容器技术、开发环境、国内镜像源
适合读者:后端开发、运维工程师、Linux 初学者


📌 前言

在 CentOS 9 上安装 Docker 对很多开发者来说可能会遇到官方源不可用、依赖缺失、Docker Engine 版本不兼容等问题。本篇文章将手把手带你在 CentOS Stream 9 系统中顺利安装并配置 Docker 环境,确保你能快速开始容器开发和部署!


🧰 一、安装前准备

🖥️ 系统环境检查

cat /etc/redhat-release

输出示例: CentOS Stream release 9

在这里插入图片描述

确保你使用的是 CentOS Stream 9,该版本已不再是传统 CentOS 的延续,而是更贴近 RHEL 的滚动更新版本。

🖥️ 卸载旧版本

sudo dnf remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine

📦 二、安装 Docker 所需依赖

sudo dnf -y install yum-utils device-mapper-persistent-data lvm2

在这里插入图片描述
这些工具用于管理 yum 源和挂载存储卷,是 Docker 的必要依赖。


🌏 三、配置 Docker 镜像源(推荐使用阿里云)

添加 Docker 官方或国内源(推荐使用阿里云)

sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

在这里插入图片描述

或使用 Docker 官方源(速度较慢,需要翻墙)

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

🐳 四、安装 Docker Engine

sudo dnf makecache
sudo dnf -y install docker-ce docker-ce-cli containerd.io

在这里插入图片描述
在这里插入图片描述

若提示找不到软件包,请检查 repo 是否配置成功,或运行 sudo dnf clean all 后重试。


▶️ 五、启动并设置开机自启

sudo systemctl start docker
sudo systemctl enable docker

在这里插入图片描述


🔍 六、验证 Docker 安装是否成功

docker --version

示例输出:

Docker version 28.3.2, build 578ccf6

在这里插入图片描述

测试是否能运行容器:

sudo docker run hello-world

在这里插入图片描述
💥 解释:
你的 Docker 客户端在尝试从官方镜像仓库(Docker Hub:https://registry-1.docker.io/v2/)拉取镜像 hello-world:latest 时,请求超时了,可能原因如下:

🚧 可能原因分析:

原因描述
🌐 网络问题访问 Docker Hub 被墙,或你的网络环境阻止了连接(如公司防火墙)
🐌 DNS 解析慢或失败某些网络环境下 registry-1.docker.io 域名解析失败
🔐 代理或网络限制使用了公司代理或 VPN,导致请求被拦截或响应延迟
🧱 没有配置国内加速器默认拉取镜像速度慢,容易超时

一般需要配置国内镜像加速器,查看第七点。

📁 七、常见优化配置

1️⃣ 使用国内镜像加速器(推荐)

创建配置文件:

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://docker.1ms.run","https://docker.m.daocloud.io","https://dockerproxy.com","https://docker.1panel.live","https://docker.anyhub.us.kg","https://dockerhub.icu","https://docker.awsl9527.cn","https://docker.chenby.cn","https://docker.mirrors.ustc.edu.cn","https://docker.nju.edu.cn","https://docker.m.daocloud.io","https://docker.mirrors.aliyuncs.com","https://docker.mirrors.huaweicloud.com"],"exec-opts": ["native.cgroupdriver=systemd"],"log-driver": "json-file","log-opts": {"max-size": "100m"},"storage-driver": "overlay2"
}EOF

重启 Docker 服务:

sudo systemctl daemon-reexec
sudo systemctl restart docker

⚠️ 八、常见问题与解决方法

❌ 问题1:找不到 docker-ce 软件包

✅ 解决方法:

  • 检查 repo 是否成功添加:

    ls /etc/yum.repos.d/ | grep docker
    
  • 如果是阿里源,确保 CentOS-Stream 系列在 /etc/os-release 中包含 ID=centos 或修改 repo 文件中 $releasever9


❌ 问题2:安装报错:requires container-selinux >= 2.74

✅ 解决方法:

sudo dnf install -y container-selinux

或从 RHEL 包源安装:

sudo dnf install -y https://download-ib01.fedoraproject.org/pub/epel/9/Everything/x86_64/Packages/c/container-selinux-2.20220111-1.el9.noarch.rpm

🔁 九、附加内容:卸载 Docker

如需卸载 Docker,可使用以下命令:

sudo dnf remove docker-ce docker-ce-cli containerd.io
sudo rm -rf /var/lib/docker
sudo rm -rf /etc/docker

🚀 十、结语

Docker 是现代 DevOps 和微服务的核心工具,正确地安装与配置是第一步。本教程适配 CentOS 9 环境,旨在帮你少踩坑、高效部署容器平台。如果你喜欢这篇文章,欢迎点赞收藏或留言交流!


🙌 作者专栏:「部署不求人」
📌 关注我,解锁更多高质量部署教程与实战干货!

http://www.lryc.cn/news/602477.html

相关文章:

  • 状态反馈极点配置
  • 第三阶段—8天Python从入门到精通【itheima】-139节(pysqark实战-前言介绍)
  • mac电脑如何关闭防火墙
  • 本地大语言模型部署指南
  • 分布式渲染效能探析:关键网络性能要素
  • 前端基础之《Vue(25)—Vue3简介》
  • NSGA-II(Non-dominated Sorting Genetic Algorithm II) 算法求解 ZDT1 双目标优化问题
  • 【Java基础面试题】Java特点,八种基本数据类型
  • 【Zustand】从复杂到简洁:Zustand 状态管理简化实战指南
  • GTSuite许可证兼容性及要求
  • 【数据标注】详解使用 Labelimg 进行数据标注的 Conda 环境搭建与操作流程
  • 修改gitlab默认的语言
  • GitLab 18.2 发布几十项与 DevSecOps 有关的功能,可升级体验【四】
  • Java面试深度剖析:从JVM到云原生的技术演进
  • opencv学习(轮廓检测)
  • OpenCV(05)直方图均衡化,模板匹配,霍夫变换,图像亮度变换,形态学变换
  • UE5 UI自适应 DPI缩放
  • 【Spring WebFlux】 三、响应式流规范与实战
  • android-屏幕-刷新流程
  • 《深入剖析Kafka分布式消息队列架构奥秘》之Kafka基本知识介绍
  • MCU 中的 PWM(脉冲宽度调制)是什么?
  • uniapp 更新apk有缓存点不动,卸载安装apk没有问题。android
  • LeetCode 刷题【18. 四数之和】
  • R 语言科研绘图 --- 其他绘图-汇总1
  • 2025 DevOps工具生态全景解读:本土化服务与智能化演进成关键赛点
  • Centos 7 命令:ip addr
  • 国产测试用例管理工具横向评测:DevOps时代如何选择最适合的协作平台?
  • 问题大全【1】
  • LWGJL教程(8)——基础知识
  • 游戏测试与软件测试的区别