从零开始:CentOS 7系统中Docker的安装与卸载全记录


准备工作

检查系统环境,确认你的操作系统是CentOS 7,并且处于最新状态(包括更新软件包)

使用cat命令来查看/etc/centos-release文件的内容。这个文件包含了CentOS操作系统的版本信息。

  1. 打开终端。
  2. 输入以下命令并按下回车键:
bash 复制代码
cat /etc/centos-release

如果系统是CentOS 7,你会看到类似于以下的输出:

bash 复制代码
CentOS Linux release 7.x.x (Core)

这里的7.x.x会显示具体的版本号,例如7.9.2009表示CentOS 7.9版本。

这种方法非常直接,并且不需要安装额外的软件包。如果你想要更详细的信息,也可以使用其他命令,比如uname -r来查看内核版本,或者hostnamectl来获取包括操作系统在内的更多系统信息。但是,对于只想知道是否是CentOS 7的用户来说,查看/etc/centos-release是最简单的方法。

使用 yum update 命令来安装所有可用的更新。这包括了操作系统本身以及所有已安装的应用程序。

bash 复制代码
sudo yum update

安装Docker

Step 1: 安装必要的系统工具

首先,我们需要确保系统上有yum-utils这个工具集,它提供了yum-config-manager等管理仓库的实用程序。

bash 复制代码
sudo yum install -y yum-utils

Step 2: 添加软件源信息

接下来,我们将添加Docker的官方仓库地址,这里我们使用的是阿里云提供的镜像源来加速下载。

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

Step 3: 更新Yum缓存(可选但推荐)

在安装之前,更新一下yum缓存是个好习惯,这样可以确保获取最新的软件包信息。

bash 复制代码
sudo yum makecache fast

Step 4: 安装Docker

现在我们可以开始安装Docker CE及其相关组件。请注意,如果你的CentOS版本较老,可能需要先检查可用的Docker版本,并选择适合的版本进行安装。

bash 复制代码
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

如果遇到依赖问题或特定版本不兼容的情况,可以尝试指定一个具体的版本号进行安装,例如:

bash 复制代码
sudo yum install docker-ce-<version_string> docker-ce-cli-<version_string> containerd.io

其中是你想要安装的具体版本号。

Step 5: 开启Docker服务

安装完成后,启动Docker服务,并设置为开机自启。

bash 复制代码
sudo systemctl start docker 
sudo systemctl enable docker

验证安装

验证Docker是否正确安装并且能够正常运行。可以通过运行一个简单的容器来测试:

bash 复制代码
sudo docker run hello-world

如果一切正常,你应该能看到一条消息,内容类似于"Hello from Docker!",这表明Docker已成功安装并能正常工作。

常见问题及解决方法

在国内安装Docker时,由于网络环境的特殊性,可能会遇到一些特有的问题。

  1. 网络连接问题

由于官方Docker仓库位于海外,直接从Docker Hub下载镜像的速度可能非常慢甚至无法访问。解决这个问题的一个有效方法是使用国内的镜像源,如阿里云、网易云等提供的加速服务。

bash 复制代码
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  1. SELinux相关问题

如果系统启用了SELinux(Security-Enhanced Linux),可能会导致Docker容器运行失败或者权限问题。

bash 复制代码
sudo setenforce 0

长期解决方案是调整相关的SELinux策略或禁用它(不推荐在生产环境中这样做)。

  1. 内核版本兼容性

Docker要求CentOS系统的内核版本至少为3.10。如果你的CentOS版本较低,可能需要先升级内核。

bash 复制代码
uname -r

若低于3.10,则需更新系统或升级内核。

  1. 安装过程中的依赖问题

有时安装过程中会遇到依赖包冲突或者缺失的问题。

bash 复制代码
sudo yum clean all 
sudo yum install docker-ce docker-ce-cli containerd.io
  1. Docker服务启动失败

即使成功安装了Docker,服务也可能因为各种原因无法启动。

bash 复制代码
sudo systemctl status docker 
journalctl -xe

根据错误信息采取相应的措施修复。

  1. 防火墙和端口配置

某些情况下,防火墙规则可能会阻止Docker容器间的通信或外部访问容器内的服务。

卸载Docker

  1. 停止所有Docker服务。
bash 复制代码
sudo systemctl stop docker
  1. 卸载Docker CE及相关组件。
bash 复制代码
sudo yum remove docker-ce docker-ce-cli containerd.io
  1. 删除所有Docker的数据和配置文件。
bash 复制代码
sudo rm -rf /var/lib/docker 
sudo rm -rf /etc/docker 
sudo rm -rf /var/run/docker.sock
  1. 检查是否有残留的Docker RPM包,并将其删除。
bash 复制代码
rpm -qa | grep docker 
sudo yum remove <package_name>
  1. 如果不再需要docker用户组,则可以删除它。
bash 复制代码
sudo groupdel docker

注意:在卸载之前,务必确保你已经备份了所有重要的Docker镜像、容器、卷和配置文件,因为这些数据在卸载过程中会被删除。

相关推荐
forestqq24 分钟前
openEuler22.03LTS系统升级docker至26.1.4以支持启用ip6tables功能
linux·运维·docker
IOT那些事儿31 分钟前
一个简单的Windows TCP服务器实现
服务器·windows·c·server·winsock2
xing.yu.CTF1 小时前
2022年中职网络建设与运维赛题-windows服务器解析
运维·服务器·网络·windows·网络建设与运维
Chicheng_MA1 小时前
基于 Git、Jenkins 和 Docker 的自动化持续集成与部署实践
git·docker·jenkins
冷影玺1 小时前
第二节 docker基础之---镜像构建及挂载
docker
x66ccff2 小时前
【GIS】本地部署nominatim地理编码服务
运维
蓝创精英团队3 小时前
基于Ubuntu Ollama 部署 DeepSeek-R132B 聊天大模型(附带流式接口调用示例)
linux·运维·ubuntu·deepseek
下雨天u3 小时前
jenkins手动安装插件
运维·jenkins
2301_793069823 小时前
Render上后端部署Springboot + 前端Vue 问题及解决方案汇总
spring boot·docker·render
渲染101专业云渲染4 小时前
川翔云电脑是什么?租电脑?
运维·服务器·电脑