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 内核的容器化特性,首先确认你的内核版本是否达标:
bash
# 查看当前内核版本
uname -r
如果输出结果 ≥ 3.10(例如 3.10.0-1160.el7.x86_64
),则无需升级;若低于 3.10,需执行以下命令升级系统(升级后可能需要重启):
bash
# 用 root 权限登录,更新 yum 包到最新
yum update -y
2. 更换国内 yum 源(解决下载慢问题)
CentOS 自带的官方 yum 源在国内访问速度慢,且部分软件包不全,建议替换为阿里云源:
bash
# 安装 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. 安装基础工具(可选但推荐)
这些工具能帮你后续更方便地管理服务器和排查问题:
go
yum -y install gcc glibc gcc-c++ make net-tools screen vim lrzsz tree dos2unix lsof tcpdump bash-completion ntp
三、Docker 安装:一步一图带你操作
1. 卸载旧版本 Docker(避坑关键!)
如果之前装过 Docker 或残留文件,必须先卸载,否则会出现冲突:
csharp
# 卸载所有旧版本 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"
,必须替换为阿里云仓库:
csharp
# 安装 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 有多个版本,新手建议选择稳定版(而非最新版,避免兼容性问题):
bash
# 查看仓库中所有可用的 Docker 版本(按版本号从高到低排序)
yum list docker-ce --showduplicates | sort -r
输出结果中,类似 docker-ce-20.10.11-3.el7
的就是具体版本(20.10.x 系列是长期支持的稳定版),执行以下命令安装:
ini
# 安装指定稳定版(版本号可根据上一步输出调整)
yum install --setopt=obsoletes=0 docker-ce-20.10.11-3.el7 -y
4. 启动 Docker 并设置开机自启
安装完成后,需要手动启动 Docker 服务,并配置开机自启(避免服务器重启后 Docker 失效):
bash
# 启动 Docker 服务
systemctl start docker
# 查看 Docker 运行状态(输出中含"active (running)"表示启动成功)
systemctl status docker
# 设置开机自启 Docker
systemctl enable docker
5. 验证安装是否成功
执行以下命令,若同时显示 Client 和 Server 信息,说明 Docker 安装和启动都成功了:
docker version
(实际操作时可截图保存,方便排查问题)
四、Docker 卸载:彻底清理不留残留
如果需要卸载 Docker(比如换版本或迁移环境),需分两步:卸载软件包 + 删除数据文件(否则残留文件会影响下次安装)。
bash
# 1. 卸载 Docker 软件包
yum remove -y docker-ce
# 2. 删除镜像、容器、配置文件等所有数据(此操作不可逆,确认无需保留数据再执行)
rm -rf /var/lib/docker
五、常用操作:Docker 启动 / 停止 / 重启命令
安装后日常管理 Docker 服务的核心命令:
操作需求 | 命令 | 说明 |
---|---|---|
启动 Docker | systemctl start docker |
服务未运行时执行 |
停止 Docker | systemctl stop docker |
需要关闭服务时执行 |
重启 Docker | systemctl restart docker |
配置生效或服务异常时使用 |
查看运行状态 | systemctl status docker |
排查启动失败问题常用 |
设置开机自启 | systemctl enable docker |
服务器重启后自动运行 |
六、新手常见问题及解决方法
-
执行
yum install docker-ce
时报 "无可用包"?原因:未正确配置仓库。重新执行 "配置 Docker 国内仓库" 步骤,确保命令无报错。
-
docker version
** 只显示 Client 不显示 Server**?原因:Docker 服务未启动。执行
systemctl start docker
启动服务,若启动失败用systemctl status docker
查看报错日志(常见原因:内核版本过低或旧文件残留)。 -
卸载后重新安装提示 "冲突"?
原因:未删除
/var/lib/docker
残留文件。执行rm -rf /var/lib/docker
后再重新安装。
总结:从 "会安装" 到 "懂原理" 的下一步
通过本文,你已经掌握了 CentOS7 环境下 Docker 的安装、卸载和基础管理。但这只是容器技术的第一步,后续可以学习:
-
Docker 镜像加速配置(解决拉取镜像慢的问题);
-
第一个容器运行(
docker run hello-world
体验容器魅力); -
Docker 常用命令(镜像、容器、网络管理)。
如果操作中遇到问题,欢迎在评论区留言,我会第一时间帮你排查~ 记得收藏本文,下次操作时对照步骤执行更高效!