linux CentOs 安装docker 推荐生产环境使用

目录

1. 在CentOs上安装docker所需的系统环境

2. 卸载旧版本

2.1 查看是否已安装docker

2.2 卸载已安装的docker

3. 安装方式

3.1 使用rpm存储库安装(推荐使用该方法)

3.2 从包中安装

4. 开始docker


1. 在CentOs上安装docker所需的系统环境

需要以下CentOS版本之一的维护版本:

  • CentOs 7 
  • CentOs 8(stream)
  • CentOs 9(stream)

2. 卸载旧版本

2.1 查看是否已安装docker

执行docker命令:

docker -v

如果安装了就会输出docker的版本信息,例如:

Docker version 20.10.21, build baeda1f

如果没有安装docker,则可能会出现:

-bash: docker: command not found

以上是没有找到docker命令,代表没有安装docker

2.2 卸载已安装的docker

先暂停docker服务

systemctl stop docker

卸载Docker软件包:

sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine

以上卸载时,如果提示:

Loaded plugins: fastestmirror
No Match for argument: docker
No Match for argument: docker-client
No Match for argument: docker-client-latest
No Match for argument: docker-common
No Match for argument: docker-latest
No Match for argument: docker-latest-logrotate
No Match for argument: docker-logrotate
No Match for argument: docker-engine
No Packages marked for removal

说明并没有找到这些包并删除,那么我们会发现,docker已经存在,没有卸载成功

这时候我们可以尝试使用以下命令查找已安装的docker相关包:

yum list installed | grep docker

这个命令将列出所有已安装的包,并通过 grep 过滤出包含 "docker" 的包。如果这个命令返回了结果,那么你可以使用返回的包名来卸载 Docker

而以上则是返回了相关的docker包,我们将这些包进行卸载:

sudo yum remove containerd.io.x86_64 docker-buildx-plugin.x86_64 docker-ce.x86_64 docker-ce-cli.x86_64 docker-ce-rootless-extras.x86_64 docker-compose-plugin.x86_64

tip:以上命令,除了前面的"sudo yum remove"是固定的,后面的包则需要根据实际的情况拼接,以上只是博主的内容,切勿直接复制使用,可能会发生错误或卸载不完整!

在卸载过程中,会提示:

Is this ok [y/N]: 

我们输入"y"按下回车键 代表同意即可

卸载运行之后会出现:

Complete!

就代表卸载完成了

3. 安装方式

可以用不同的方式安装Docker:

  1. 设置Docker的存储库并从中进行安装,以便于安装和升级任务。这是推荐的方法
  2. 可以下载RPM包并手动安装,也可以完全手动管理升级。这在一些情况下很有用,比如在无法访问互联网的气隙系统上安装Docker

3.1 使用rpm存储库安装(推荐使用该方法)

在新主机上首次安装Docker之前,需要设置Docker存储库。之后,您可以从存储库安装和更新Docker

设置存储库
安装yum-utils包(它提供yum-config-manager实用程序)并设置存储库

运行以下命令:

sudo yum install -y yum-utils

出现下面这样代表成功:

接着运行以下命令:

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

出现以下代表成功:

这里我们安装的是docker的最新版本:

运行以下命令:

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

当运行中提示:Is this ok [y/d/N]

我们输入:"y" 点击回车键同意即可继续安装

如果提示接受GPG密钥,验证指纹是否匹配060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35,如果匹配,则接受(还会出现一次 Is this ok [y/N] 我们继续输入"y" 按下回车键)。

这个命令安装Docker,但不启动Docker。它还创建了一个docker组,但是,默认情况下它不会向该组添加任何用户。

最后提示:Complete! 则代表安装结束

这时候我们再查看一次docker版本,则会显示docker的具体版本:

docker -v

显示:

Docker version 25.0.3, build 4debf41

3.2 从包中安装

如果你不能使用Docker的rpm库来安装Docker,你可以为你的版本下载rpm文件并手动安装

首先,我们先检查一下自己的CentOs版本是多少,输入以下命令:

lsb_release -a

我这边输出了:

LSB Version:	:core-4.1-amd64:core-4.1-noarch
Distributor ID:	CentOS
Description:	CentOS Linux release 7.9.2009 (Core)
Release:	7.9.2009
Codename:	Core

转到 https://download.docker.com/linux/centos/ 并选择您的CentOS版本。然后浏览到x86_64/stable/Packages/,下载需要安装的Docker版本的.rpm文件。

我们访问以上链接,会发现,会让我们选择自己的版本,我这里是7.9,所以我选择7.9

该下载页,有很多的包,每个包的意思不同,先了解一下每个包是什么

包名解释
containerd.io这是 containerd 的 RPM 包。containerd 是一个容器运行时,它提供了底层的容器管理功能,如创建、启动、停止容器等。它是 Docker 和其他容器技术的底层组件
docker-buildx-plugin这是 Docker Buildx 的插件包。Docker Buildx 是一个扩展的构建工具,它支持使用 BuildKit 来构建多平台的 Docker 镜像
docker-ce这是 Docker 的社区版 RPM 包,提供了完整的容器化平台。它包括了 Docker 守护进程、Docker 命令行接口以及其他相关的工具和组件
docker-ce-cli这是 Docker 的命令行客户端的 RPM 包。它用于与 Docker 守护程序进行交互,执行如构建、运行、管理容器等操作
docker-ce-rootless-extras这是为 rootless 容器模式提供的额外工具和配置的 RPM 包。rootless 模式允许普通用户在没有 root 权限的情况下运行容器
docker-ce-selinux这是 Docker 的 SELinux 策略文件的 RPM 包。SELinux 是一个 Linux 内核的安全模块,用于提供强制访问控制。该包为 Docker 容器提供了 SELinux 策略,以增强系统的安全性
docker-compose-plugin这是 Docker Compose 的插件包。Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。通过该插件,用户可以使用 docker compose 命令来管理由 Compose 文件定义的应用程序
docker-scan-plugin这是 Docker Scan 的插件包。Docker Scan 是一个用于扫描 Docker 镜像中的安全漏洞的工具

我们能看到,这些包都有很多版本,老版本不建议使用,尽量使用稳定版本或最新版本。

这些包后面都有发布时间,所以我们可以根据包名的数字(例如:1.6.9是比1.6.8更高的),或者发布时间来根据最新版。

若不想使用最新版,防止不够稳定或还存在bug,我们可以往前推移一两个版本,这里我们示范,就使用最新的版本(建议按照实际情况下载)。

安装docker,运行以下命令:

sudo yum install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.6.9-3.1.el7.x86_64.rpm
sudo yum install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-buildx-plugin-0.12.1-1.el7.x86_64.rpm
sudo yum install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-25.0.2-1.el7.x86_64.rpm
sudo yum install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-cli-25.0.3-1.el7.x86_64.rpm
sudo yum install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-rootless-extras-25.0.3-1.el7.x86_64.rpm
sudo yum install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch.rpm
sudo yum install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-compose-plugin-2.6.0-3.el7.x86_64.rpm
sudo yum install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-scan-plugin-0.9.0-3.el7.x86_64.rpm

运行之后,会进入下载,如果提示了:

Is this ok [y/d/N]

输入"y"按下回车键即可

 这时候我们再查看一次docker版本,则会显示docker的具体版本:

docker -v

显示:

Docker version 25.0.3, build 4debf41

4. 开始docker

输入一段简单的docker命令:

docker ps

以上命令是查看docker正在运行的容器

但是很不理想,会提示:

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

意思为 docker守护进程并没有运行

简单的说,是docker服务没有启动,我们需要启动docker服务

可以先检查docker服务状态:

systemctl status docker

输出的内容中,会看到这么一段:

Active: inactive (dead)

该程序是不活跃的,代表是没有启动该服务

启动docker,运行以下命令:

systemctl start docker

然后我们再查看docker的状态会发现输出是这样的:

Active: active (running)

提示该程序是活跃的,代表服务启动了

然后我们再返回查看docker的容器:

docker ps

会输出:

CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

列出了容器的相关信息,但并没有正在运行的容器,是因为我们还没有创建并运行容器,所以这里确实是没有数据的

现在我们就已经成功安装并启动了Docker。

  • 24
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值