centos stream 10 系统下 Docker 安装与配置全流程指南

centos stream 10 系统下 Docker 安装与配置全流程指南

文章目录

版本:1.0 | 最后更新:2025年10月21日

本指南基于官方文档及实际环境验证,提供完整、可操作的 Docker 安装配置流程,涵盖依赖管理、仓库配置、服务优化及常见问题解决。

一、前置条件

1.1 系统要求

  • 操作系统:CentOS Stream 9 (x86_64)
  • 内核版本:≥ 3.10(建议 ≥ 4.18)
  • 权限sudoroot 用户权限

二、安装流程

步骤 1:卸载旧版本 Docker(如有)

sudo systemctl stop docker docker.socket sudo systemctl disable docker docker.socket sudo systemctl stop containerd sudo systemctl disable containerd sudo dnf remove -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin sudorm -rf /var/lib/docker sudorm -rf /var/lib/containerd sudorm -rf /etc/docker sudorm -rf /run/docker sudorm -rf /run/containerd sudogroupdeldocker

步骤 2:安装依赖工具

sudo dnf install -y dnf-plugins-core yum-utils device-mapper-persistent-data lvm2 
说明dnf-plugins-core 用于管理仓库,device-mapper-persistent-datalvm2 是 Docker 存储驱动依赖。

步骤 3:配置 Docker 仓库(推荐国内镜像源)

选项 1:阿里云镜像源(推荐)
sudo dnf config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 
选项 2:清华大学镜像源
sudo dnf config-manager --add-repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo 
验证仓库
执行 sudo dnf repolist 确认 docker-ce 仓库已加入。

步骤 4:安装 Docker 引擎

sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin 
关键提示:安装过程中会提示验证 GPG 密钥,确认指纹匹配
060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35安装组件说明:
docker-ce:Docker 引擎核心
docker-ce-cli:Docker 命令行客户端
containerd.io:容器运行时
docker-buildx-plugin:构建多平台镜像
docker-compose-plugin:Docker Compose 集成

步骤 5:启动 Docker 服务并设置开机自启

sudo systemctl start docker# 启动服务sudo systemctl enabledocker# 设置开机自启sudo systemctl status docker# 检查状态(应显示 "active (running)")

步骤 6:配置镜像加速器(解决拉取慢问题)

重启 Docker 生效:

sudo systemctl restart docker

编辑 Docker 配置文件:

mkdir /etc/docker sudotee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": [ "https://docker.m.daocloud.io", "http://hub-mirror.c.163.com", "https://docker.mirrors.ustc.edu.cn", "https://ccr.ccs.tencentyun.com", "https://docker.rainbond.cc", "https://docker.nju.edu.cn" ], "log-driver": "json-file", "log-opts": { "max-size": "100m", "max-file": "3" } } EOF
重要更新registry.docker-cn.com 已停止维护,请优先使用 docker.mirrors.ustc.edu.cnhub-mirror.c.163.com

步骤 7:验证安装

sudodocker run hello-world 
成功输出
Hello from Docker! 说明 Docker 服务正常运行。

步骤 8:配置用户权限(避免每次 sudo

sudousermod -aG docker$USER# 将当前用户加入 docker 组 newgrp docker# 刷新当前 shell 的组权限
验证:执行 docker ps 无需 sudo 即可运行。

三、常见问题解决

❌ 问题 1:连接 Docker 守护进程失败

现象Cannot connect to the Docker daemon
解决

  1. 确认 Docker 服务已启动:sudo systemctl status docker

重启网络与 Docker:

sudo systemctl restart NetworkManager &&sudo systemctl restart docker

❌ 问题 2:防火墙端口冲突(如需暴露 2375 端口)

解决

sudo firewall-cmd --permanent --add-port=2375/tcp sudo firewall-cmd --reload 
云服务器额外步骤:在云平台(如阿里云、腾讯云)的安全组规则中放行 2375 端口

❌ 问题 3:GPG 密钥验证失败

解决

  1. 重新执行安装命令。

手动导入密钥:

sudorpm --import https://mirrors.aliyun.com/docker-ce/linux/centos/gpg 

四、关键配置说明

配置项作用
/etc/docker/daemon.json核心配置文件,定义镜像加速器、日志驱动等关键参数
docker buildx支持多平台构建(如 docker buildx build --platform linux/amd64
docker compose集成 Compose 功能,无需单独安装 docker-compose 命令

五、后续操作建议

管理容器:

dockerps# 查看运行中容器docker images # 查看镜像dockerrm$(dockerps -aq)# 清理所有容器

测试网络:

docker run -d --name nginx -p 8080:80 nginx:alpine curl http://localhost:8080 # 访问测试

重要提示:镜像加速器优先使用 docker.mirrors.ustc.edu.cn(清华大学)或 hub-mirror.c.163.com(网易),避免使用已停用的 registry.docker-cn.com
cker images # 查看镜像
docker rm $(docker ps -aq) # 清理所有容器
 ------ > **重要提示**: > > 1. 镜像加速器优先使用 **`docker.mirrors.ustc.edu.cn`**(清华大学)或 **`hub-mirror.c.163.com`**(网易),避免使用已停用的 `registry.docker-cn.com`。 > 2. 云服务器需在**安全组**中放行 Docker 端口(如 2375、80、443 等)。 

Read more

【硬核排查】挂了代里还是“裸奔”?深度解析 WebRTC 泄露与 Google 账号风控机制

【硬核排查】挂了代里还是“裸奔”?深度解析 WebRTC 泄露与 Google 账号风控机制

本文仅用于技术研究,禁止用于非法用途。 Author:枷锁 前言:一个“玄学”的网络故障 最近在进行网络环境配置时遇到了一个非常反直觉的现象: 我在本地开启了 戴笠,状态栏显示连接正常,访问Gemini毫无压力。但是,当我打开 ip138 或百度搜索 “IP” 时,显示的却依然是我本地的 ISP 真实 IP。更糟糕的是,我的 Google 账号开始频繁触发安全风控——要么是登录时无限弹出验证码,要么是刚登上去就被踢下线。 这不仅仅是“连不上”的问题,而是一个典型的网络协议泄露与安全风控案例。本着“知其然更要知其所以然”的精神,我深扒了其背后的技术原理,发现罪魁祸首主要有两个:路由分流策略与WebRTC 协议漏洞。 第一部分:为什么 ip138 “出卖”了你?—— 聊聊路由分流 (Split Tunneling) 很多新手判断 是否生效的标准是:

By Ne0inhk

Flutter 三方库 webkit_inspection_protocol 的鸿蒙化适配指南 - 在鸿蒙系统上构建极致、透明、基于 Chrome DevTools Protocol 的工业级 Web

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 webkit_inspection_protocol 的鸿蒙化适配指南 - 在鸿蒙系统上构建极致、透明、基于 Chrome DevTools Protocol 的工业级 Web 远程调试与性能审计引擎 在鸿蒙(OpenHarmony)系统的端云一体化调试架构、基于 ArkWeb 的混合应用(Hybrid App)开发或者是需要实现“远程 Web 自动化”的场景中,如何通过 Dart 代码直接操控浏览器内核,执行 DOM 审计、网络监控或 JavaScript 脚本注入?webkit_inspection_protocol 为开发者提供了一套工业级的、针对 Chrome DevTools

By Ne0inhk
【征文计划】玩转 Rokid JSAR:基于 Web 技术栈的 AR 开发环境搭建、核心 API 应用与 3D 时钟等创意项目全流程解析

【征文计划】玩转 Rokid JSAR:基于 Web 技术栈的 AR 开发环境搭建、核心 API 应用与 3D 时钟等创意项目全流程解析

【征文计划】玩转 Rokid JSAR:基于 Web 技术栈的 AR 开发环境搭建、核心 API 应用与 3D 时钟等创意项目全流程解析 前言 随着 AR 技术在消费级场景的普及,开发者对 “低门槛、高兼容” AR 开发工具需求愈发迫切,传统 AR 开发往往依赖专属引擎或复杂语法,导致 Web 开发者难以快速切入,而 Rokid 推出的 JSAR 技术,恰好打破了这一壁垒:以 “可嵌入空间的 Web 运行时” 为核心,让开发者无需学习新的开发范式,仅用 JavaScript/TypeScript 等熟悉的 Web 技术栈,就能快速开发出支持 3D 物体、

By Ne0inhk

安卓系统Chrome内核:Android System WebView

com.google.android.webview 安卓8.0可以使用Android System WebView v138 安卓7.0可以使用Android System WebView v119 安卓6.0可以使用Android System WebView v106 安卓5.0可以使用Android System WebView v95 网盘下载1:https://down666.lanzoul.com/b01hjlghc 提取码:7x8i ------旧版网盘下载1:https://down666.lanzoul.com/b01hjlgje 提取码:aw3t 网盘下载2:https://www.mediafire.com/folder/cimpgytm5w2t8 有的安卓浏览器比如“X浏览器”自身是不带Chrome内核的,

By Ne0inhk