编辑
2025-05-10
系统管理
0

目录

一、系统要求
二、彻底卸载旧版本(关键步骤)
三、安装依赖工具包
四、添加 Docker 官方仓库
方案1:使用阿里云镜像加速(推荐国内用户)
方案2:官方仓库(默认)
五、安装 Docker 引擎
六、配置镜像加速器(核心步骤)
1. 生成纯净的 daemon.json 文件
2. 检查 JSON 语法
3. 重启 Docker 服务
七、验证镜像加速是否生效
八、配置非 root 用户权限(可选)
九、防火墙与 SELinux 配置
1. 允许 Docker 通过防火墙
2. 临时禁用 SELinux(测试用)
十、最终验证
常见问题终极解决方案
1. 服务启动失败(错误日志:Failed to start Docker)
3. 权限问题(提示 Permission denied)
附:Docker 常用命令速查表
总结

CentOS 8 完整 Docker 安装与镜像加速配置教程

Docker容器化技术越发重要,本教程详解 CentOS 8 安装与配置Docker

一、系统要求

  • 操作系统:CentOS 8 64位(最小化安装或带 GUI 的版本均可)。
  • 内核版本:建议 4.18 及以上(通过 uname -r 查看)。
  • 权限要求:以 root 用户或具有 sudo 权限的用户操作。

二、彻底卸载旧版本(关键步骤)

bash
# 卸载 Docker 及相关组件 sudo dnf remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine # 删除残留文件和目录 sudo rm -rf /var/lib/docker sudo rm -rf /var/lib/containerd sudo rm -rf /etc/docker

三、安装依赖工具包

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

四、添加 Docker 官方仓库

方案1:使用阿里云镜像加速(推荐国内用户)

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

方案2:官方仓库(默认)

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

五、安装 Docker 引擎

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

六、配置镜像加速器(核心步骤)

1. 生成纯净的 daemon.json 文件

bash
# 使用无注释、纯 JSON 格式 sudo tee /etc/docker/daemon.json <<EOF { "registry-mirrors": [ "https://hub-mirror.c.163.com" ] } EOF
  • 注意
    • 仅保留一个镜像源(测试用)。
    • 无注释、无中文符号
    • 使用 https://hub-mirror.c.163.com

2. 检查 JSON 语法

bash
# 安装 JSON 校验工具(若未安装) sudo dnf install -y jq # 验证语法(无报错表示成功) sudo jq . /etc/docker/daemon.json

3. 重启 Docker 服务

bash
# 重载配置并重启服务 sudo systemctl daemon-reload sudo systemctl restart docker # 查看服务状态 sudo systemctl status docker
  • 正常状态Active: active (running)

七、验证镜像加速是否生效

bash
# 强制刷新镜像元数据 docker info --format '{{json .RegistryMirrors}}' # 输出应为: # ["https://hub-mirror.c.163.com/"]

八、配置非 root 用户权限(可选)

bash
# 将当前用户加入 docker 组 sudo usermod -aG docker $USER # 立即生效(或注销后重新登录) newgrp docker

九、防火墙与 SELinux 配置

1. 允许 Docker 通过防火墙

bash
sudo firewall-cmd --permanent --zone=public --add-interface=docker0 sudo firewall-cmd --reload

2. 临时禁用 SELinux(测试用)

bash
sudo setenforce 0 # 临时关闭 # 永久关闭需编辑 /etc/selinux/config,设置 SELINUX=disabled

十、最终验证

bash
# 拉取 Nginx 镜像测试速度 time docker pull nginx # 正常情况:下载速度应在 10MB/s 以上

常见问题终极解决方案

1. 服务启动失败(错误日志:Failed to start Docker)

  • 原因:残留进程或配置冲突。
  • 解决
    bash
    sudo systemctl stop docker sudo pkill dockerd # 强制终止残留进程 sudo systemctl start docker

2. 镜像加速未生效

  • 原因:配置未被加载或镜像源失效。
  • 解决
    bash
    # 检查文件权限 sudo ls -l /etc/docker/daemon.json # 必须为 root:root,权限 644 # 测试镜像源连通性 curl -I https://mirror.ccs.tencentyun.com
    • 如果返回 HTTP 200,表示镜像源可用。

3. 权限问题(提示 Permission denied)

  • 解决
    bash
    # 确保用户已加入 docker 组 groups $USER # 输出应包含 docker # 重启会话 su - $USER

附:Docker 常用命令速查表

命令说明
docker run hello-world测试 Docker 是否正常运行
docker ps -a查看所有容器
docker images查看本地镜像
docker pull nginx拉取 Nginx 镜像
docker stop <容器ID>停止容器

总结

  1. 核心步骤:卸载旧版 → 安装依赖 → 添加仓库 → 安装 Docker → 配置镜像加速 → 验证。
  2. 关键点
    • daemon.json 必须为纯 JSON 格式(无注释、英文符号)。
    • 国内用户必须配置镜像源,推荐腾讯云镜像。
  3. 故障排查
    • 优先检查日志:journalctl -u docker
    • 验证镜像源连通性:curl -I <镜像地址>

按此教程操作后,Docker 应能正常运行并加载镜像加速配置。如仍遇到问题,请提供 docker infojournalctl -xe 输出以便进一步诊断。

如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:Dageling003

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!