CentOS 7 安装 Docker 完整教程(含 docker-compose 插件)

CentOS 7 安装 Docker 完整教程(含 docker-compose 插件)

最近在 CentOS 7 上安装 Docker 时,直接执行 yum install docker-ce 提示 "没有可用软件包",这是因为系统默认的 YUM 源里没有 Docker 官方仓库。本文记录完整的安装步骤,包括配置国内镜像源、安装核心组件及常用插件,并附上常见错误的解决方法。

📌 环境说明

操作系统:CentOS 7 (x86_64)

内核版本:>= 3.10(Docker 官方要求)

目标安装:Docker CE(社区版)+ docker-compose 插件 + Buildx 插件

1️⃣ 卸载旧版本 Docker(可选但推荐)

如果之前安装过旧版本 Docker(如 docker‑io、docker‑engine),先执行卸载:

bash 复制代码
sudo yum remove docker \
    docker-client \
    docker-client-latest \
    docker-common \
    docker-latest \
    docker-latest-logrotate \
    docker-logrotate \
    docker-engine

说明:yum remove 不会删除已下载的镜像、容器和配置文件,后续可以放心安装新版。

2️⃣ 安装必要依赖工具

Docker 安装需要 yum-utils(提供 yum-config-manager)和存储驱动依赖:

bash

bash 复制代码
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

device-mapper-persistent-data 和 lvm2 用于管理 Docker 的存储驱动(devicemapper)。

3️⃣ 添加 Docker 软件源

官方源在国外,下载速度慢,推荐使用阿里云镜像源(国内用户首选):

bash

bash 复制代码
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

如果不介意速度,也可以使用官方源:

bash

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

4️⃣ 更新 YUM 缓存并安装 Docker

bash

生成软件包缓存

bash 复制代码
sudo yum makecache fast

安装 Docker 核心组件

bash 复制代码
sudo yum install -y docker-ce docker-ce-cli containerd.io

注意:docker-ce-cli 是命令行工具,containerd.io 是容器运行时,三者缺一不可。

5️⃣ 安装 docker-compose 插件和 buildx 插件(可选)

从 Docker 23.0 开始,docker-compose 作为插件集成,推荐安装插件版:

bash

bash 复制代码
sudo yum install -y docker-compose-plugin docker-buildx-plugin

安装后,可以使用 docker compose(注意中间没有横杠)和 docker buildx 命令。

6️⃣ 启动 Docker 并设置开机自启

bash

启动 Docker 守护进程

bash 复制代码
sudo systemctl start docker

设置开机自动启动

bash 复制代码
sudo systemctl enable docker

查看服务状态

bash 复制代码
sudo systemctl status docker

7️⃣ 验证安装是否成功

查看 Docker 版本

bash

bash 复制代码
docker --version

输出示例:Docker version 27.0.3, build 7f6b7b9

运行 Hello World 测试

bash

bash 复制代码
sudo docker run hello-world

如果看到 Hello from Docker! 信息,说明安装成功。

验证 compose 插件

bash

bash 复制代码
docker compose version

输出示例:Docker Compose version v2.28.1

8️⃣ 常见问题及解决方法

❌ 问题1:yum-config-manager: command not found

原因:缺少 yum-utils 包。

解决:执行第 2 步的命令安装即可。

❌ 问题2:安装时提示 没有可用软件包 docker-ce

原因:没有添加 Docker 官方源或阿里镜像源。

解决:重新执行第 3 步添加源,然后 yum makecache fast。

❌ 问题3:Cannot connect to the Docker daemon

原因:Docker 服务未启动或启动失败。

解决:

bash

bash 复制代码
sudo systemctl start docker
sudo journalctl -u docker   # 查看详细错误日志

❌ 问题4:container-selinux 依赖错误

原因:CentOS 7 默认的 container-selinux 版本过低。

解决:手动安装兼容版本:

bash

bash 复制代码
sudo yum install -y http://mirror.centos.org/centos/7/extras/x86_64/Packages/container-selinux-2.119.2-1.911c772.el7_8.noarch.rpm

然后重新安装 Docker。

❌ 问题5:docker buildx 或 docker compose 命令找不到

原因:未安装对应插件。

解决:执行第 5 步安装插件包。

📦 附:一键安装脚本(适合懒人)

将以下内容保存为 install_docker.sh,然后 bash install_docker.sh 即可全自动安装。

bash

#!/bin/bash

set -e

卸载旧版本

sudo yum remove -y docker docker-client docker-client-latest docker-common

docker-latest docker-latest-logrotate docker-logrotate docker-engine || true

安装依赖

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

添加阿里云源

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

安装 Docker

sudo yum makecache fast

sudo yum install -y docker-ce docker-ce-cli containerd.io

安装插件(可选)

sudo yum install -y docker-compose-plugin docker-buildx-plugin || echo "插件安装跳过"

启动并启用

sudo systemctl start docker

sudo systemctl enable docker

验证

docker --version

docker compose version

echo "Docker 安装完成!"

📚 参考链接

Docker 官方安装文档

阿里云 Docker CE 镜像站

💬 总结

CentOS 7 安装 Docker 的关键步骤就是:添加正确的 YUM 源 → 安装核心包 → 启动服务。按照本文的步骤操作,基本不会出错。如果遇到依赖问题,耐心解决即可。

希望这篇教程能帮助到你,如果觉得有用,欢迎点赞、收藏、评论~ 😊

相关推荐
极客先躯1 小时前
高级java每日一道面试题-2026年02月01日-实战篇[Docker]-Docker Volume 的生命周期管理是怎样的?
java·运维·docker·容器·持久化·架构图·容器卷
kong@react2 小时前
Rocky Linux 10.2 全面解析:企业级 CentOS 替代方案及保姆级docker安装
java·linux·运维·docker
某林2123 小时前
Isaac Sim 5.1.0 无头服务器部署与 RTX 显存段错误排障全记录
运维·服务器·docker·容器·isaac
m0_738120724 小时前
Docker 环境下 Vulfocus 靶场搭建全流程(附镜像源问题解决方案)
运维·服务器·网络·安全·docker·容器
simeple4 小时前
记一次 Docker Compose 项目迁移:从 Windows Docker Desktop 迁移到 CentOS 服务器
docker
哆啦A梦——4 小时前
Ubuntu 虚拟机 Docker 与 MySQL 8.0.42 部署指南
mysql·ubuntu·docker
上天_去_做颗惺星 EVE_BLUE5 小时前
【新 Linux 服务器上手全攻略】系统巡检、存储规划与开发环境初始化
linux·运维·服务器·ubuntu·macos·centos
木雷坞5 小时前
Playwright MCP Docker 部署:mcr 镜像、浏览器工具和权限配置
运维·docker·容器·mcp
das2m5 小时前
WSL2 Ubuntu 配置完美版 docker compose 指南
linux·ubuntu·docker