在 CentOS 上安装 Docker Engine

news/2024/11/7 7:41:28/

文章目录

  • 在 CentOS 上安装 Docker Engine
    • 先决条件
      • 操作系统要求
      • 卸载旧版本
    • 安装方法
      • 使用 rpm 存储库安装
        • 设置存储库
        • 安装 Docker Engine
          • 安装最新版本
          • 安装指定版本
    • 以非 root 用户身份管理 Docker
    • 配置 Docker 以使用 systemd 启动

参考官方文档: 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://www.ppmy.cn/news/601517.html

相关文章

使用英特尔 oneAPI AI 工具分析包实现AI应用程序的调试与改进

目录 1.什么是英特尔 oneAPI AI&#xff1f; 关于英特尔 oneAPI AI 工具分析包 2.使用英特尔 oneAPI AI 工具分析包实现AI数据分析 准备工作 数据准备 编写AI应用程序 性能分析 并行性优化 内存和线程错误分析 优化AI算法 性能验证与调试 性能优化迭代 3.总结 1.什…

Mac上微信、QQ的聊天图片和记录保存在哪?如何清理或导出?

现在大家的日常生活中已经离不开微信、QQ&#xff0c;工作时也会常用它们在手机和电脑间互传一些重要的文件或图片。久而久之&#xff0c;发现微信、QQ占用的空间越来越大&#xff0c;想清理或导出文件却无从下手。在windows上可以通过“我的电脑”找到微信、QQ聊天文件位置&am…

QQ 聊天记录简单数据分析

手机里的聊天记录一直没删&#xff0c;有的群的消息已经几万条了&#xff0c;所以做一下简单的数据分析。 提取数据 Android 的 QQ 聊天记录比较容易导出&#xff0c;这里说一下 iOS 未越狱的&#xff0c;将 iOS 用 iTunes 备份&#xff0c;进入备份文件夹&#xff0c;按照文件…

菜鸟记录:安卓手机导出微信聊天记录

安卓手机导出微信聊天记录 亲测好使&#xff01;&#xff01;第一步&#xff1a;安卓手机获取root权限(必须获取)1.备份聊天记录到电脑 第二步&#xff1a;恢复聊天记录到手机模拟器以及获取IMEI1.获取IMEI2.恢复聊天记录至手机 第三步&#xff1a;获取聊天记录数据库 EnMicro…

麒麟系统查看微信聊天记录位置、微信收到的文件位置

1.首先登录电脑微信 2.打开命令行先输入 sudo find / -mmin 1 | grep -v proc | grep wxid 不要按回车执行&#xff0c;等待1分钟左右不要执行其他动作 3.1分钟后通过手机微信给“文件传输助手”发送 消息/文件/图片&#xff0c;我自己测试是发了一个deb文件&#xff0c;然后电…

成功转移安卓手机QQ聊天记录

废话先不说&#xff0c;直接上干货&#xff1a; 只要把两个地方的数据完整的复制到新手机对应位置就可以了&#xff0c;但过程相当坎坷&#xff1a; /data/data/com.tencent.mobileqq /sdcard/Tencent/MobileQQ 下面开始废话&#xff1a; 最近打算换个新手机&#xff0c;这…

疑难杂症系列-QQ聊天记录的备份和恢复

QQ聊天记录的备份和恢复 备份恢复 qq提供了把手机QQ聊天记录备份到电脑的功能 备份文件所在路径 D:\Rachel\Tencent Files\2490198366\MsgBackup备份 电脑上&#xff1a;聊天记录备份与恢复电脑上&#xff1a;备份聊天记录至电脑手机上&#xff1a;选择想要备份的聊天记录手机…

Python:导出QQ聊天记录-让我们看看逗比群友都在聊什么

qq技术群&#xff0c;一群逗比天天不聊技术&#xff0c;都在摸鱼&#xff0c;未读消息动不动就99&#xff0c;丝毫不考虑我这电脑内存小的怎么办。来&#xff0c;让我们看看这群逗比群友整天都在聊什么。 一、导出QQ聊天文件 手机上或者Mac上的QQ数据库是加密的&#xff0c;但…