在 CentOS 上安装 Docker Engine

2023-06-27 11:22:39


参考官方文档: https://docs.docker.com/engine/install/centos/

在 CentOS 上安装 Docker Engine

要在 CentOS 上开始使用 Docker 引擎,请确保满足先决条件,然后按照安装步骤进行操作。

先决条件

操作系统要求

要安装 Docker 引擎,您需要以下 CentOS 版本之一的维护版本:

cat /etc/redhat-release
  • CentOS 7
  • CentOS 8 (stream)
  • CentOS 9 (stream)

必须启用 centos-extras 存储库。该存储库默认处于启用状态,但如果您已禁用它,则需要重新启用它(默认已启用)。

卸载旧版本

旧版本的 Docker 的名称为 dockerdocker-engine 。在尝试安装新版本之前卸载任何此类旧版本以及相关的依赖项。

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

yum 可能会报告您没有安装这些软件包。

卸载 Docker 时,存储在 /var/lib/docker/ 中的映像、容器、卷和网络不会自动删除。

安装方法

您可以根据需要以不同的方式安装 Docker Engine:

  • 您可以设置 Docker 的存储库并从中进行安装,以方便安装和升级任务。这是推荐的方法。

  • 您可以下载 RPM 包并手动安装,并完全手动管理升级。这对于在无法访问互联网的气隙系统上安装 Docker 等情况非常有用。

  • 在测试和开发环境中,您可以使用自动化便捷脚本来安装 Docker。

使用 rpm 存储库安装

在新主机上首次安装 Docker Engine 之前,需要设置 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 Engine

安装 Docker Engine、containerd 和 Docker Compose。

安装最新版本
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

如果提示接受 GPG 密钥,请验证指纹是否与 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35 匹配,如果是,则接受。

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

docker 用户组存在,但不包含任何用户,这就是为什么您需要使用 sudo 来运行 Docker 命令。

安装指定版本

如果安装了最新版本则跳过这一步。

yum list docker-ce --showduplicates | sort -r

返回的列表取决于启用的存储库,并且特定于您的 CentOS 版本。

通过完全限定的包名称安装特定版本,即包名称 ( docker-ce ) 加上版本字符串(第二列),并用连字符 ( - ) 分隔。例如, docker-ce-3:24.0.0-1.el8

<VERSION_STRING> 替换为所需的版本,然后运行以下命令进行安装:

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

以非 root 用户身份管理 Docker

如果您不想在 docker 命令前面添加 sudo ,请创建一个名为 docker 的 Unix 组并向其中添加用户。当 Docker 守护进程启动时,它会创建一个可供 docker 组成员访问的 Unix 套接字。在某些 Linux 发行版上,系统在使用包管理器安装 Docker Engine 时会自动创建该组。在这种情况下,您无需手动创建组。

  1. 创建 docker 组。
sudo groupadd docker
  1. 将您的用户添加到 docker 组。
sudo usermod -aG docker $USER
  1. 注销并重新登录,以便重新评估您的组成员身份。

    如果您在虚拟机中运行 Linux,则可能需要重新启动虚拟机才能使更改生效。

    您还可以运行以下命令来激活对组的更改:

    newgrp docker
    

如果您最初使用 sudo 运行 Docker CLI 命令,然后将用户添加到 docker 组,您可能会看到以下错误:

WARNING: Error loading config file: /home/user/.docker/config.json -
stat /home/user/.docker/config.json: permission denied

此错误表明 ~/.docker/ 目录的权限设置不正确,因为之前使用了 sudo 命令。

要解决此问题,请删除 ~/.docker/ 目录(它会自动重新创建,但所有自定义设置都会丢失),或者使用以下命令更改其所有权和权限:

sudo chown "$USER":"$USER" /home/"$USER"/.docker -R
sudo chmod g+rwx "$HOME/.docker" -R

配置 Docker 以使用 systemd 启动

许多现代 Linux 发行版使用 systemd 来管理系统启动时启动哪些服务。在 Debian 和 Ubuntu 上,Docker 服务默认在启动时启动。要使用 systemd 在其他 Linux 发行版上自动启动 Docker 和 Containerd,请运行以下命令:

sudo systemctl enable docker.service
sudo systemctl enable containerd.service

要停止此行为,请改用 disable

sudo systemctl disable docker.service
sudo systemctl disable containerd.service
更多推荐

【网络协议】Http-上

Http请求结构:结构图1:实验解析请求报文:1.在Edge浏览器上输入ip地址+端口号+文件资源,也就是下图中的120.XX.139.29:8888/A/B/c.html2.我的程序接收到了一个没有有效载荷的http请求(呼应上面的结构图1),如下GET/1/2/3.htmlHTTP/1.1//请求行(请求方法+请求

关于路由懒加载

路由懒加载是一种优化技术,它是可以延迟加载应用程序的某些模块或者组件,而不是在初始加载时一次性加载所有内容,这样可以减少初始加载的文件体积,提高应用程序的加载速度1.懒加载是在什么时候加载路由懒加载是在用户访问相应的路由时才进行加载。它延迟加载路由组件,使得在初始加载时只加载必要的代码,而将其他路由的代码推迟到需要时再

实验篇——根据群体经纬度提取环境数据(先导)

实验篇——根据群体经纬度提取环境数据(先导)文章目录前言一、获取数据文件1.1.经纬度文件1.2.环境数据的tif文件二、R语言代码实现三、环境文件介绍3.1.bio3.2.prec3.3.elev3.4.tmin3.5.tmax3.6.vapr13.7.tavg3.8.srad3.9.wind四、后续总结前言首先得到

LLM - 大模型技术报告与训练细节 By Baichuan2

目录一.引言二.Introduction-LLM相关进展1.模型参数越大,模型能力越强2.开源模型促进LLM领域快速发展3.开源模型集中在英文领域,其他语言能力有限4.训练数据2.6亿Token遥遥领先5.优化人类指令发布对应Chat模型6.公布了训练过程中的CKPT促进领域研究发展三.Pre-training-Bai

Vue路由与nodejs环境搭建

目录一、Vue路由1.1SPA简介1.2路由简介1.3路由实现思路1.3.1引入vue-router的js依赖1.3.2定义组件1.3.3定义路由1.3.4组装路由器1.3.5将路由挂载根实例1.3.6定义触发路由的按钮1.3.7定义锚点1.4示例二、nodejs环境搭建2.1nodejs简介2.2nodejs下载2.

权威敏捷产品经理(CSPO)企业培训

课程简介优秀的产品通常包括以下三个特征:第一:能够抓住用户痛点,帮助用户解决问题;第二:容易使用,极致的用户体验;第三:质量好、性能稳定。这是一个两天的面向产品经理的实训课程,课程旨在帮助学员掌握按照敏捷和互联网思维进行产品研发,打造用户喜爱的产品的思路及实践。课程内容涵盖了产品思维、用户需求挖掘、痛点分析,价值驱动、

APP产品经理岗位的具体内容(合集)

APP产品经理岗位的具体内容11、负责项目产品团队的管理工作,对项目产品团队考核目标负责;2、全面负责“工务园”所有产品,全方位负责其生命周期管理;3、按照产品管理相关的计划和规范,对产品版本的更新及发布负责,完善产品的各种技术文档;4、深刻理解业务需求并转化为系统需求,撰写产品需求文档和需求规格说明书;编写帮助文档、

GLTF编辑器如何快速重置模型原点

1、什么是模型原点?模型原点是三维建模中的概念,它是指在一个虚拟三维空间中确定的参考点。模型原点通常位于模型的几何中心或基本组件的中心位置。如图所示:可以看到模型的原点在模型的几何中心2、模型原点的作用知道了什么是模型原点,那么模型原点有那些作用呢?以下是模型原点的作用点:位置确定:模型原点可以帮助确定模型在三维空间中

PWA及小程序在系统生态方面的支持对比

PWA代表“渐进式网络应用”(ProgressiveWebApplication)。它是一种结合了网页和移动应用程序功能的技术概念。PWA旨在提供类似于原生应用程序的用户体验,包括离线访问、推送通知、后台同步等功能,同时又具有网页的优势,如跨平台、无需下载安装等。PWA这个概念在行业内发展的挺快,基于Chromium的

产品经理-战略-战略的含义和层级

引言22年老板在听我做部门人员数量汇报时,当场就给我们部门员工做能力标签,过了几天就输出了一个公司所有技术岗位的能力标签。其中有一项是战略思维,该项满分是5分,我们部门同事绝大部分人都只有2分,我自己也就3分。当时不仅缺乏战略思维,而且连战略思维的概念也很模糊,更不用说怎么提高了,并且内心也想我们测试的岗位缺乏战略思维

pytorch迁移学习训练图像分类

pytorch迁移学习训练图像分类一、环境配置二、迁移学习关键代码三、完整代码四、结果对比代码和图片等资源均来源于哔哩哔哩up主:同济子豪兄讲解视频:Pytorch迁移学习训练自己的图像分类模型一、环境配置1,安装所需的包pipinstallnumpypandasmatplotlibseabornplotlyreque

热文推荐