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

devtools/2025/2/9 6:39:34/

在这里插入图片描述
在这里插入图片描述

准备工作

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

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

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

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

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 命令来安装所有可用的更新。这包括了操作系统本身以及所有已安装的应用程序。

sudo yum update

安装Docker

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

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

sudo yum install -y yum-utils

Step 2: 添加软件源信息

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

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

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

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

sudo yum makecache fast

Step 4: 安装Docker

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

sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

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

sudo yum install docker-ce-<version_string> docker-ce-cli-<version_string> containerd.io

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

Step 5: 开启Docker服务

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

sudo systemctl start docker 
sudo systemctl enable docker

验证安装

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

sudo docker run hello-world

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

常见问题及解决方法

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

  1. 网络连接问题

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

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

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

sudo setenforce 0

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

  1. 内核版本兼容性

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

uname -r

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

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

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

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

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

sudo systemctl status docker 
journalctl -xe

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

  1. 防火墙和端口配置

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

卸载Docker

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

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


http://www.ppmy.cn/devtools/157271.html

相关文章

pycharm ai插件

PyCharm中的AI插件为开发者提供了强大的智能辅助功能,这些插件能够显著提升编码效率、优化代码质量,并提供实时的编程建议和帮助。以下是一些主要的PyCharm AI插件及其功能介绍: 一、CodeMoss(ChatGPT Free) 简介:CodeMoss是一款集成在PyCharm内的顶级AI插件,全称“Cha…

PyTorch torch.unbind、torch.split 和 torch.chunk函数介绍

pytorch中 torch.unbind、torch.split 和 torch.chunk等函数可用于张量的拆分操作。 1. torch.unbind 功能说明&#xff1a; torch.unbind 沿指定的维度将张量“解包”为多个张量&#xff0c;返回一个元组。解包后被操作的那个维度会消失&#xff0c;每个输出张量的维度数会比…

为什么要设计DTO类/什么时候设置DTO类?

为什么设计DTO类&#xff1f; 例如&#xff1a;根据新增员工接口设计对应的DTO 前端传递参数列表&#xff1a; 思考&#xff1a;是否可以使用对应的实体类来接收呢&#xff1f; 注意&#xff1a;前端提交的数据和实体类中对应的属性差别比较大&#xff0c;所以自定义DTO类。 …

python基础入门:3.5实战:词频统计工具

Python词频统计终极指南&#xff1a;字典与排序的完美结合 import re from collections import defaultdictdef word_frequency_analysis(file_path, top_n10):"""完整的词频统计解决方案:param file_path: 文本文件路径:param top_n: 显示前N个高频词:return:…

【前端】【Ts】【知识点总结】TypeScript知识总结

一、总体概述 TypeScript 是 JavaScript 的超集&#xff0c;主要通过静态类型检查和丰富的类型系统来提高代码的健壮性和可维护性。它涵盖了从基础数据类型到高级类型、从函数与对象的类型定义到类、接口、泛型、模块化及装饰器等众多知识点。掌握这些内容有助于编写更清晰、结…

React 设计模式:实用指南

React 提供了众多出色的特性以及丰富的设计模式&#xff0c;用于简化开发流程。开发者能够借助 React 组件设计模式&#xff0c;降低开发时间以及编码的工作量。此外&#xff0c;这些模式让 React 开发者能够构建出成果更显著、性能更优越的各类应用程序。 本文将会为您介绍五…

如何在WPS和Word/Excel中直接使用DeepSeek功能

以下是将DeepSeek功能集成到WPS中的详细步骤&#xff0c;无需本地部署模型&#xff0c;直接通过官网连接使用&#xff1a;1. 下载并安装OfficeAI插件 &#xff08;1&#xff09;访问OfficeAI插件下载地址&#xff1a;OfficeAI助手 - 免费办公智能AI助手, AI写作&#xff0c;下载…

Spring Boot统一异常拦截实践指南

Spring Boot统一异常拦截实践指南 一、为什么需要统一异常处理 在Web应用开发中&#xff0c;异常处理是保证系统健壮性和用户体验的重要环节。传统开发模式中常见的痛点包括&#xff1a; 异常处理逻辑分散在各个Controller中错误响应格式不统一敏感异常信息直接暴露给客户端…