从零开始: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镜像、容器、卷和配置文件,因为这些数据在卸载过程中会被删除。

相关推荐
zhaowangji13 分钟前
ubuntu 20.04 安装中文输入法 (sougou pin yin)
linux·ubuntu
两斤半1 小时前
Debian TTY环境乱码
linux·debian
杨浦老苏1 小时前
开源服务运行监控工具Lunalytics
docker·群晖·网站监控
xmode1 小时前
centos7.9安装ffmpeg6.1和NASM、Yasm、x264、x265、fdk-aac、lame、opus解码器
ffmpeg·centos
还是奇怪2 小时前
Linux - 安全排查 2
linux·运维·安全
牛奶咖啡132 小时前
Linux系统的常用操作命令——文件远程传输、文件编辑、软件安装的四种方式
运维·服务器·软件安装·linux云计算·scp文件远程传输·vi文件编辑·设置yum的阿里云源
weixin_437398212 小时前
转Go学习笔记(2)进阶
服务器·笔记·后端·学习·架构·golang
难受啊马飞2.02 小时前
如何判断 AI 将优先自动化哪些任务?
运维·人工智能·ai·语言模型·程序员·大模型·大模型学习
会又不会3 小时前
Jenkins-Email Extension 插件插件
运维·jenkins
电脑能手3 小时前
[保姆级教程] 解决不同局域网电脑无法SSH的问题
运维·ssh·电脑