Linux CentOS10下安装与配置Docker完整详细步骤

📅 2026/7/6 14:44:45 👁️ 阅读次数 📝 编程学习
Linux CentOS10下安装与配置Docker完整详细步骤

一、文档说明
本文档基于 CentOS 10(EL10) 系统编写,同时兼容 CentOS 8/9 等基于 DNF 包管理器的新版 CentOS 系统,覆盖从环境准备、源配置、安装、启动、优化到排错的全流程,适合运维人员、开发人员作为标准化部署手册使用。

———————————————————————————————————————————
二、前置环境要求
1. 系统版本要求
支持系统:CentOS 8、CentOS 9、CentOS 10(推荐 CentOS 10,长期支持版本)
系统架构:x86_64 架构(主流服务器架构,ARM 架构需单独适配)
权限要求:必须使用 root 用户或拥有 sudo 权限的普通用户操作
2. 环境清理(避免旧版本冲突)
在安装前,必须彻底卸载系统中可能存在的旧版 Docker 及相关组件,避免依赖冲突:
———————————————————————————————————————————

# 卸载旧版Docker及相关组件 sudo dnf remove -y docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine \ podman \ runc

说明:CentOS 8+ 系统默认预装podman,与 Docker 存在端口冲突,必须卸载。

3. 安装基础依赖工具

安装 Docker 所需的系统依赖包,确保后续源配置、安装流程正常执行:

# 安装dnf核心工具包(CentOS 8+ 原生工具,替代旧版yum-utils) sudo dnf -y install dnf-plugins-core

补充说明:

旧版 CentOS 7 使用 yum install -y yum-utils,CentOS 8+ 已完全迁移至 DNF,yum 仅为兼容软链接,不推荐使用
若误装 yum-utils 兼容包,可通过 sudo dnf remove -y yum-utils 卸载,不影响系统核心功能

三、配置 Docker 软件源(国内加速方案)

Docker 官方源服务器在海外,国内访问速度慢、易超时,强烈推荐使用阿里云镜像源,大幅提升安装和镜像拉取速度。

1. 移除旧的 Docker 官方源(若已添加)

若之前执行过官方源添加命令,需先删除旧源文件,避免源冲突:

# 直接删除官方源配置文件(Linux 通用删除源方法,替代不存在的--remove-repo参数) sudo rm -f /etc/yum.repos.d/docker-ce.repo
2. 添加阿里云 Docker 镜像源

执行以下命令,一键写入阿里云源配置文件 :

sudo dnf config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo #CentOS7版本 yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

源文件说明:

源配置文件会自动生成在 /etc/yum.repos.d/docker-ce.repo 路径下
该源完美适配 CentOS 8/9/10 全版本,无需手动修改版本号
若需手动编辑源文件,可执行 sudo vi /etc/yum.repos.d/docker-ce.repo,确保 baseurl 为阿里云地址

3. 刷新系统源缓存

执行缓存刷新命令,确保新添加的源生效:

sudo dnf makecache

执行成功标志:输出各源元数据下载进度,最终显示「缓存创建成功」,无报错信息。

四、安装 Docker 引擎

1. 安装 Docker 核心组件

执行以下命令,安装 Docker 最新稳定版及相关依赖:

# 安装Docker CE(社区版)、CLI工具、containerd容器运行时 sudo dnf -y install docker-ce docker-ce-cli containerd.io

组件说明:

  • docker-ce:Docker 社区版核心引擎,负责容器生命周期管理
  • docker-ce-cli:Docker 命令行工具,用于执行docker相关操作
  • containerd.io:容器运行时,Docker 20.10+ 版本的标准依赖,负责容器底层管理
2. 验证安装是否成功

安装完成后,执行以下命令验证 Docker 版本,确认安装正常:

# 查看Docker版本 docker --version # 查看Docker详细信息 docker info

成功标志:

  • 输出版本信息(如Docker version 27.3.1, build ce12230
  • docker info无报错,正常输出系统资源、镜像源等信息

五、启动与配置 Docker 服务

1. 启动 Docker 服务

执行命令启动 Docker 守护进程:

sudo systemctl start docker

无报错输出即为启动成功(Linux 系统中「无报错 = 执行成功」)

2. 验证 Docker 启动状态

通过两种方式验证 Docker 是否正常运行:

方式 1:查看进程
ps -ef | grep docker

成功标志:输出dockerd守护进程信息,示例如下:

plaintext

root 3105 1 0 14:34 ? 00:00:00 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock root 3304 2148 0 14:35 pts/0 00:00:00 grep --color=auto docker

其中dockerd进程正常运行,说明 Docker 启动成功。

方式 2:运行测试镜像(官网测试标准)
sudo docker run hello-world

成功标志:输出「Hello from Docker!」欢迎信息,说明 Docker 安装、启动、网络全部正常,可正常拉取镜像、运行容器。

3. 配置 Docker 开机自启

设置 Docker 服务开机自启,确保服务器重启后 Docker 自动运行:

# 设置开机自启 sudo systemctl enable docker # 验证自启状态 sudo systemctl is-enabled docker

成功标志:输出enabled,说明自启配置生效。

六、Docker 核心优化配置
1. 配置阿里云镜像加速器(必做)
Docker 官方镜像仓库海外访问速度慢,配置阿里云专属加速器,可将镜像拉取速度提升 10 倍以上。

步骤 1:获取专属加速器地址
登录
阿里云容器镜像服务:https://cr.console.aliyun.com/cn-hangzhou/instances

左侧菜单选择「镜像工具」→「镜像加速器」
复制专属加速器地址(格式:https://xxxxxx.mirror.aliyuncs.com,每个账号唯一)
步骤 2:配置加速器
执行以下命令,写入加速器配置:

# 创建Docker配置目录 sudo mkdir -p /etc/docker # 写入daemon.json配置文件(替换为你的专属加速器地址) sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com"], "log-driver": "json-file", "log-opts": { "max-size": "100m", "max-file": "3" }, "storage-driver": "overlay2" } EOF

配置说明:

  • registry-mirrors:配置镜像加速器地址
  • log-driver/log-opts:限制容器日志大小,避免日志占满磁盘
  • storage-driver:指定存储驱动为overlay2(Docker 推荐的高性能存储驱动)
步骤 3:重启 Docker 生效
# 重载systemd配置 sudo systemctl daemon-reload # 重启Docker服务 sudo systemctl restart docker
步骤 4:验证加速器生效
docker info

成功标志:在输出中找到Registry Mirrors字段,显示你的阿里云加速器地址,说明配置生效。

2. 非 root 用户免 sudo 执行 Docker(可选)

默认情况下,普通用户执行docker命令需要加sudo,可通过以下配置实现免 sudo 操作:

# 将当前用户添加到docker用户组 sudo usermod -aG docker $USER # 立即生效(无需重启系统) newgrp docker

验证:执行docker ps,无需加sudo即可正常输出,说明配置成功。

3. 配置 Docker 数据目录(可选,生产环境推荐)

默认 Docker 数据目录为/var/lib/docker,若系统盘空间不足,可迁移至数据盘:

# 1. 停止Docker服务 sudo systemctl stop docker # 2. 创建新的数据目录(示例:/data/docker) sudo mkdir -p /data/docker # 3. 迁移旧数据 sudo rsync -av /var/lib/docker /data/docker # 4. 备份旧目录 sudo mv /var/lib/docker /var/lib/docker.bak # 5. 创建软链接 sudo ln -s /data/docker /var/lib/docker # 6. 启动Docker sudo systemctl start docker

验证:执行docker info,查看Docker Root Dir字段,显示新目录即为成功。

七、Docker 常用基础命令(入门必备)

1. 服务管理命令
# 启动Docker sudo systemctl start docker # 停止Docker sudo systemctl stop docker # 重启Docker sudo systemctl restart docker # 查看Docker状态 sudo systemctl status docker # 设置开机自启 sudo systemctl enable docker # 取消开机自启 sudo systemctl disable docker
2. 镜像操作命令
# 拉取镜像 docker pull 镜像名:版本号 # 查看本地镜像 docker images # 删除镜像 docker rmi 镜像ID/镜像名 # 搜索镜像 docker search 镜像名
3. 容器操作命令
# 运行容器 docker run -d --name 容器名 -p 主机端口:容器端口 镜像名 # 查看运行中容器 docker ps # 查看所有容器(含停止) docker ps -a # 停止容器 docker stop 容器ID/容器名 # 启动容器 docker start 容器ID/容器名 # 删除容器 docker rm 容器ID/容器名 # 进入容器 docker exec -it 容器ID /bin/bash

八、常见问题与排错
1. 问题 1:dnf config-manager --remove-repo 报错
报错信息:dnf config-manager: error: unrecognized arguments: --remove-repo原因:CentOS 8+ 的 DNF 工具不支持 --remove-repo 参数,该参数仅适用于旧版 YUM。解决方案:直接删除源配置文件:

sudo rm -f /etc/yum.repos.d/docker-ce.repo

2. 问题 2:Docker 启动失败,提示端口冲突
报错信息:Error starting daemon: listen tcp 0.0.0.0:2375: bind: address already in use原因:端口 2375 被其他进程占用(常见为 podman)。解决方案:

# 卸载podman sudo dnf remove -y podman # 重启Docker sudo systemctl restart docker

3. 问题 3:镜像拉取超时、速度慢
原因:未配置国内镜像加速器,使用官方源访问海外服务器超时。解决方案:按本文「配置阿里云镜像加速器」步骤操作,配置国内加速源。

4. 问题 4:普通用户执行 docker 命令报错权限不足
报错信息:permission denied while trying to connect to the Docker daemon socket原因:用户未加入 docker 用户组。解决方案:执行免 sudo 配置命令:

sudo usermod -aG docker $USER newgrp docker

5. 问题 5:Docker 容器日志占满磁盘
原因:未配置日志限制,容器日志无限增长。解决方案:按本文「配置阿里云镜像加速器」步骤,在 daemon.json 中添加日志限制配置。

配置国内镜像加速器

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com",
"https://ccr.ccs.tencentyun.com"
]
}
EOF

九、总结
本文档完整覆盖了 CentOS 系统 Docker 从环境准备、源配置、安装、启动、优化到排错的全流程。