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.pswp.cn/news/916579.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/916579.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SystemV消息队列揭秘:原理与实战

目录 一、消息队列的基本原理 1、基本概念 2、基本原理 3、消息类型的关键作用 4、重要特性总结 5、生命周期管理 6、典型应用场景 二、System V 消息队列的内核数据结构 1、消息队列的管理结构 msqid_ds&#xff08;消息队列标识符结构&#xff09; 关键字段解析 2…

5 分钟上手 Firecrawl

文章目录Firecrawl 是什么&#xff1f;本地部署验证mcp安装palyground&#x1f525; 5 分钟上手 FirecrawlFirecrawl 是什么&#xff1f; 一句话&#xff1a; 开源版的 “最强网页爬虫 清洗引擎” • 自动把任意网页 → 结构化 Markdown / JSON • 支持递归整站抓取、JS 渲染…

算法训练营day31 贪心算法⑤56. 合并区间、738.单调递增的数字 、968.监控二叉树

贪心算法的最后一篇博客&#xff01;前面两道题都是比较简单的思路&#xff0c;重点理解一下最后一道题即可。有一说一&#xff0c;进入到贪心算法这一章节之后&#xff0c;我的博客里和代码注释里的内容明显少了很多&#xff0c;因为很多贪心的题目我觉得不需要很复杂的文字说…

Jenkins流水线部署+webhook2.0

文章目录1. 环境2. 用到的插件3. 流水线部署脚本1. 环境 Centos7Jenkins2.5.0JDKopen17阿里云仓库 注意&#xff1a;这个版本兼容需要特别注意&#xff0c;要不然会很麻烦 2. 用到的插件 Generic Webhook Trigger 3. 流水线部署脚本 兼容钩子部署&#xff08;webhook&…

IDM下载失败排查

网络连接问题排查检查网络连接是否稳定&#xff0c;确保能够正常访问互联网 测试其他下载工具或浏览器是否能够正常下载 尝试关闭防火墙或杀毒软件&#xff0c;排除安全软件拦截的可能性代理和VPN设置检查确认IDM的代理设置是否正确&#xff0c;是否与系统代理一致 检查是否使用…

Anaconda安装时的几个操作

一、安装Anaconda 其实Anaconda的安装比较简单&#xff0c;点击next就好了。在安装中需要注意以下两点&#xff1a; 1、选择安装路径 在安装时&#xff0c;路径最好选择非C盘&#xff0c;且路径中不要出现中文&#xff0c;以免后期运行代码时出现不必要的错误。 我安装时&…

网易易盾、腾讯ACE等主流10款游戏反外挂系统对比

本文将深入对比10款游戏反外挂系统&#xff1a;1.网易易盾&#xff1b;2.Ricochet Anti‑Cheat&#xff1b;3.BattlEye&#xff1b;4.几维安全手游智能反外挂系统&#xff1b;5.伏魔AI反外挂&#xff1b;6.Riot Vanguard&#xff1b;7.Xigncode3&#xff1b;8.盛大GPK&#xff…

wpa_supplicant-2.10交叉编译

参考文章:https://blog.csdn.net/weixin_45783574/article/details/145810790 1、Openssl交叉编译 1.1 下载openssl-1.1.1t.tar.gz 下载网址: https://openssl-library.org/source/old/1.1.1/index.html1.2 编译 sudo tar xvf openssl-1.1.1t.tar.gz cd openssl-1.1

源码解读SpringCloudAlibaba Nacos2.x

Nacos 服务注册 Nacos 服务注册时&#xff0c;客户端会将自己的信息注册到Nicosserver上&#xff0c;形成key-value组合&#xff0c;其中key通常是服务名称&#xff0c;value是实例地址信息。在二点X版本中&#xff0c;客户端通过Spring Boot的扩展机制(例如web_initialized事件…

Windows 11 下 Anaconda 命令修复指南及常见问题解决

Windows 11 下 Anaconda 命令修复指南及常见问题解决 在使用 Anaconda 过程中&#xff0c;可能会遇到环境损坏、更新失败、包依赖冲突等问题。本文整理了一套通过命令行修复 Anaconda 的完整方案&#xff0c;适用于 Windows 11 系统&#xff0c;同时补充了权威参考链接供深入学…

安宝特案例丨全球连线!安宝特Vuzix与RodsCones共筑实时手术教育平台

安宝特Vuzix与合作伙伴Rods&Cones协作&#xff0c;为Rocamed在布拉格UROSANIT诊所举办的创新型实时手术直播研讨会提供技术赋能。 本次直播通过合作伙伴Rods&Cones软件平台搭载安宝特Vuzix智能眼镜&#xff0c;成功连接来自9国、3大洲、6个时区的27位医生&#xff0c;…

【Spring Boot 快速开发】一、入门

目录Spring Boot 简介Web 入门Spring Boot 快速入门HTTP 协议概述请求协议响应协议解析协议TomcatSpring Boot 简介 Spring Boot 是由 Pivotal 团队&#xff08;后被 VMware 收购&#xff09;开发的基于 Spring 框架的开源项目&#xff0c;于 2014 年首次发布。其核心目标是简…

laravel chunkById导出数据乱序问题

2025年7月28日17:47:29 这几天在做数据导出优化&#xff0c;使用xlswriter作为导出组件&#xff0c;但是发现在 使用 $base->chunkById(2000, function ($list) use ($writer, $sheet1) { 发现导出的数据是乱的&#xff0c;偶尔有些重复&#xff0c;偶尔有些少了&#xff0c…

Spring IOC与DI

spring的两大思想:IOC与AOP一、ioc的概念什么叫控制翻转?之前:对象的使用方,创建对象,对象的控制权,在对象的使用方手中.spring:对象的控制权交给了spring.举个例子:智能驾驶,之前车的使用权在人手中,而现在在ai手中,这就是控制反转.什么叫ioc:之前车企生产车需要做整个车,费事…

【图像处理基石】Segment Anything Model (SAM) 调研

Segment Anything Model (SAM) 是由 Meta AI 开发的革命性图像分割模型,它能够对图像中的任何物体进行分割,无需针对特定类别进行训练。SAM 具有以下特点: 通用性:可以分割任何视觉对象,无论是否见过该类别 灵活性:支持多种输入提示(点、框、掩码或文本) 实时性:在普通…

unisS5800XP-G交换机配置命令之端口篇

一、批量配置端口(1) 进入系统视图。system-view(2) 指定接口范围&#xff0c;并进入接口批量配置视图。¡ 指定一个不带别名的接口列表。interface range { interface-type interface-number [ to interface-type interface-number ] } &<1-24>¡…

MySQL中的 redolog

什么是redo log如果我们只在内存的 Bufer Pool中修改了页面&#xff0c;假设在事务提交后突然发生了某个故障导致内存中的数据都失效了&#xff0c;那么这个已经提交的事务在数据库中所做的更改也就跟着丢失了&#xff0c;这是我们所不能忍受的。那么&#xff0c;如何保证这个持…

数据结构之 【排序】(非递归实现快速排序)

目录 1.引入 2.非递归实现快排的思想 3.非递归实现快排图解 4.完整代码 1.引入 递归不可避免的话题就是防止栈溢出 所以程序员需要具备递归改非递归的能力 &#xff0c;一般来说&#xff0c;抓住递归中变化的量是关键 void QuickSort(int* a, int left, int right){if (left…

CLAP文本-音频基础模型: LEARNING AUDIO CONCEPTS FROM NATURAL LANGUAGE SUPERVISION

一、TL&#xff1b;DR 现在的做法有什么问题&#xff1f;主流范式是 “一个类别标签对应多个录音”&#xff0c;需要提前标注预测预先定义的类别&#xff0c;只能做闭集理解&#xff0c;失去灵活性 我们怎么做&#xff1f;通过两个编码器和对比学习机制建立语言与音频的关联&a…

Flink2.0学习笔记:Stream API 常用转换算子

EC0720/FLINKTASK-TEST-STREAM/demo at master stevensu1/EC0720 先看测试效果&#xff1a;控制台 测试效果&#xff1a;监控服务端 主要的转换算子包括&#xff1a; 转换算子 filter:过滤包含“Flink”的输入 转换算子 map: 将每行数据前添加“Processed: ”并转为大写 转…