Linux CentOS10下安装与配置Docker完整详细步骤
一、文档说明本文档基于 CentOS 10EL10 系统编写同时兼容 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-utilsCentOS 8 已完全迁移至 DNFyum 仅为兼容软链接不推荐使用若误装 yum-utils 兼容包可通过 sudo dnf remove -y yum-utils 卸载不影响系统核心功能三、配置 Docker 软件源国内加速方案Docker 官方源服务器在海外国内访问速度慢、易超时强烈推荐使用阿里云镜像源大幅提升安装和镜像拉取速度。1. 移除旧的 Docker 官方源若已添加若之前执行过官方源添加命令需先删除旧源文件避免源冲突# 直接删除官方源配置文件Linux 通用删除源方法替代不存在的--remove-repo参数 sudo rm -f /etc/yum.repos.d/docker-ce.repo2. 添加阿里云 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-ceDocker 社区版核心引擎负责容器生命周期管理docker-ce-cliDocker 命令行工具用于执行docker相关操作containerd.io容器运行时Docker 20.10 版本的标准依赖负责容器底层管理2. 验证安装是否成功安装完成后执行以下命令验证 Docker 版本确认安装正常# 查看Docker版本 docker --version # 查看Docker详细信息 docker info成功标志输出版本信息如Docker version 27.3.1, build ce12230docker info无报错正常输出系统资源、镜像源等信息五、启动与配置 Docker 服务1. 启动 Docker 服务执行命令启动 Docker 守护进程sudo systemctl start docker无报错输出即为启动成功Linux 系统中「无报错 执行成功」2. 验证 Docker 启动状态通过两种方式验证 Docker 是否正常运行方式 1查看进程ps -ef | grep docker成功标志输出dockerd守护进程信息示例如下plaintextroot 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 --colorauto 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指定存储驱动为overlay2Docker 推荐的高性能存储驱动步骤 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 docker2. 镜像操作命令# 拉取镜像 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. 问题 1dnf 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.repo2. 问题 2Docker 启动失败提示端口冲突报错信息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 docker3. 问题 3镜像拉取超时、速度慢原因未配置国内镜像加速器使用官方源访问海外服务器超时。解决方案按本文「配置阿里云镜像加速器」步骤操作配置国内加速源。4. 问题 4普通用户执行 docker 命令报错权限不足报错信息permission denied while trying to connect to the Docker daemon socket原因用户未加入 docker 用户组。解决方案执行免 sudo 配置命令sudo usermod -aG docker $USER newgrp docker5. 问题 5Docker 容器日志占满磁盘原因未配置日志限制容器日志无限增长。解决方案按本文「配置阿里云镜像加速器」步骤在 daemon.json 中添加日志限制配置。配置国内镜像加速器sudo mkdir -p /etc/dockersudo 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 从环境准备、源配置、安装、启动、优化到排错的全流程。