CentOS7中Docker的安装与卸载

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. 验证安装是否成功

执行以下命令,若同时显示 ClientServer 信息,说明 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 服务器重启后自动运行

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

  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 常用命令(镜像、容器、网络管理)。

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

相关推荐
钱彬 (Qian Bin)5 小时前
解决docker load加载tar镜像报json no such file or directory的错误
运维·docker·容器·错误·tar·docker load
追风筝的小青年6 小时前
ubuntu24中部署k8s 1.30.x-底层用docker
docker·容器·kubernetes
贝锐6 小时前
Docker本地部署青龙面板,如何用内网穿透工具实现远程访问?
网络·docker
core5128 小时前
fastdfs快速部署、集成、调优
docker·部署·springboot·fastdfs·调用
木雷坞8 小时前
docker国内镜像源列表
运维·docker·容器
天上掉下来个程小白18 小时前
Docker-07.Docker基础-数据卷挂载
运维·docker·微服务·容器
迷失蒲公英19 小时前
Docker容器中文PDF生成解决方案
docker·容器·pdf
杨浦老苏21 小时前
IMAP电子邮件归档系统Mail-Archiver
docker·群晖·邮件·email
KS、zheng1 天前
【DOCKER】Windows Server 2016 Datacenter离线安装Docker引擎
windows·docker·容器