🐳 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 文件中$releasever
為9
。
? 問題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 環境,旨在幫你少踩坑、高效部署容器平臺。如果你喜歡這篇文章,歡迎點贊收藏或留言交流!
🙌 作者專欄:「部署不求人」
📌 關注我,解鎖更多高質量部署教程與實戰干貨!