CentOS7中Docker的安装与卸载

127 阅读6分钟

CentOS7 从零开始:Docker 安装与卸载全指南(新手友好版)

作为一名刚接触 Linux 和容器技术的新手,你是否曾在安装 Docker 时被各种命令和报错搞得一头雾水?比如执行 yum install docker 时提示 “仓库不存在”,或者启动 Docker 后用 docker version 只显示 client 不显示 service?

本文专为 CentOS7 环境下的新手打造,从 基础原理实战操作 手把手带你搞定 Docker 安装与卸载,全程标注关键细节和避坑指南,读完就能跟着操作,让你少走 90% 的弯路。

一、为什么要学 Docker?先搞懂基础逻辑

在开始操作前,我们先花 2 分钟搞懂 “为什么要这么做”,避免只会复制命令却不懂原理。

Docker 是一款开源的容器化工具,能让应用程序和依赖环境 “打包成一个容器”,实现 “一次构建,到处运行”。但它对运行环境有基础要求:

  • 内核版本:CentOS 系统需内核 ≥ 3.10(内核是操作系统的核心,旧内核不支持容器的核心特性);

  • 软件仓库:Docker 官方仓库在国内访问不稳定,需替换为阿里云等国内镜像源(否则会出现 “连接超时”“仓库不存在” 等报错);

  • 环境清理:如果之前装过旧版本 Docker,残留文件会导致新安装失败,必须先彻底卸载。

二、准备工作:给系统 “搭好舞台”

在安装 Docker 前,我们需要先优化系统环境,确保后续步骤顺利执行。

1. 检查并升级系统内核(关键!)

Docker 依赖 Linux 内核的容器化特性,首先确认你的内核版本是否达标:

# 查看当前内核版本
uname -r

如果输出结果 ≥ 3.10(例如 3.10.0-1160.el7.x86_64),则无需升级;若低于 3.10,需执行以下命令升级系统(升级后可能需要重启):

# 用 root 权限登录,更新 yum 包到最新
yum update -y

2. 更换国内 yum 源(解决下载慢问题)

CentOS 自带的官方 yum 源在国内访问速度慢,且部分软件包不全,建议替换为阿里云源:

# 安装 wget 工具(用于下载文件)
yum -y install wget

# 备份原有软件仓库配置文件(避免误删后无法恢复)
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

# 下载阿里云的 CentOS7 仓库配置
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

# 生成缓存(让系统识别新仓库,加速后续软件安装)
yum makecache

3. 安装基础工具(可选但推荐)

这些工具能帮你后续更方便地管理服务器和排查问题:

yum -y install gcc glibc gcc-c++ make net-tools screen vim lrzsz tree dos2unix lsof tcpdump bash-completion ntp

三、Docker 安装:一步一图带你操作

1. 卸载旧版本 Docker(避坑关键!)

如果之前装过 Docker 或残留文件,必须先卸载,否则会出现冲突:

# 卸载所有旧版本 Docker 相关包

yum remove -y docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine

2. 配置 Docker 国内仓库(解决 “仓库不存在” 报错)

Docker 官方仓库在国内访问受限,直接安装会提示 [Errno 14] curl#35 - "TCP connection reset by peer",必须替换为阿里云仓库:

# 安装 yum-utils 工具(用于配置仓库)

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

# 添加阿里云 Docker 仓库

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

执行后如果没有报错,说明仓库配置成功。

3. 选择并安装 Docker 版本

Docker 有多个版本,新手建议选择稳定版(而非最新版,避免兼容性问题):

# 查看仓库中所有可用的 Docker 版本(按版本号从高到低排序)

yum list docker-ce --showduplicates | sort -r

输出结果中,类似 docker-ce-20.10.11-3.el7 的就是具体版本(20.10.x 系列是长期支持的稳定版),执行以下命令安装:

# 安装指定稳定版(版本号可根据上一步输出调整)
yum install --setopt=obsoletes=0 docker-ce-20.10.11-3.el7 -y

4. 启动 Docker 并设置开机自启

安装完成后,需要手动启动 Docker 服务,并配置开机自启(避免服务器重启后 Docker 失效):

# 启动 Docker 服务

systemctl start docker

# 查看 Docker 运行状态(输出中含“active (running)”表示启动成功)

systemctl status docker

# 设置开机自启 Docker

systemctl enable docker

5. 验证安装是否成功

执行以下命令,若同时显示 ClientServer 信息,说明 Docker 安装和启动都成功了:

docker version

(实际操作时可截图保存,方便排查问题)

四、Docker 卸载:彻底清理不留残留

如果需要卸载 Docker(比如换版本或迁移环境),需分两步:卸载软件包 + 删除数据文件(否则残留文件会影响下次安装)。

# 1. 卸载 Docker 软件包
yum remove -y docker-ce

# 2. 删除镜像、容器、配置文件等所有数据(此操作不可逆,确认无需保留数据再执行)
rm -rf /var/lib/docker

五、常用操作:Docker 启动 / 停止 / 重启命令

安装后日常管理 Docker 服务的核心命令:

操作需求命令说明
启动 Dockersystemctl start docker服务未运行时执行
停止 Dockersystemctl stop docker需要关闭服务时执行
重启 Dockersystemctl restart docker配置生效或服务异常时使用
查看运行状态systemctl status docker排查启动失败问题常用
设置开机自启systemctl enable docker服务器重启后自动运行

六、新手常见问题及解决方法

  1. 执行 yum install docker-ce 时报 “无可用包”

    原因:未正确配置仓库。重新执行 “配置 Docker 国内仓库” 步骤,确保命令无报错。

  2. docker version** 只显示 Client 不显示 Server**?

    原因:Docker 服务未启动。执行 systemctl start docker 启动服务,若启动失败用 systemctl status docker 查看报错日志(常见原因:内核版本过低或旧文件残留)。

  3. 卸载后重新安装提示 “冲突”

    原因:未删除 /var/lib/docker 残留文件。执行 rm -rf /var/lib/docker 后再重新安装。

总结:从 “会安装” 到 “懂原理” 的下一步

通过本文,你已经掌握了 CentOS7 环境下 Docker 的安装、卸载和基础管理。但这只是容器技术的第一步,后续可以学习:

  • Docker 镜像加速配置(解决拉取镜像慢的问题);

  • 第一个容器运行(docker run hello-world 体验容器魅力);

  • Docker 常用命令(镜像、容器、网络管理)。

如果操作中遇到问题,欢迎在评论区留言,我会第一时间帮你排查~ 记得收藏本文,下次操作时对照步骤执行更高效!