• 在 CentOS 上安装 Docker Engine



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

    在 CentOS 上安装 Docker Engine

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

    先决条件

    操作系统要求

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

    cat /etc/redhat-release
    
    • 1
    • 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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    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
    
    • 1
    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    
    • 1
    安装 Docker Engine

    安装 Docker Engine、containerd 和 Docker Compose。

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

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

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

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

    安装指定版本

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

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

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

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

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

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

    以非 root 用户身份管理 Docker

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

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

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

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

      newgrp docker
      
      • 1

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

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

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

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

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

    配置 Docker 以使用 systemd 启动

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

    sudo systemctl enable docker.service
    
    • 1
    sudo systemctl enable containerd.service
    
    • 1

    要停止此行为,请改用 disable

    sudo systemctl disable docker.service
    
    • 1
    sudo systemctl disable containerd.service
    
    • 1
  • 相关阅读:
    export、exportdefault、module.exports对比
    Fundamental Library for ABAP 主要的组成部分概述
    传TikTok或将与甲骨文达成数据存储协议;苹果1.8米连接线卖949元;云原生日志系统Loggie正式开源|极客头条
    权限提升数据库(基于MySQL的UDF,MOF,启动项提权)
    nodejs调用python 实现方案整理
    ElasticSearch启动该正常无法连接或无法正常启动排查方案
    【C++类型转换】4种类型转换:static_cast、reinterpret_cast、const_cast、dynamic_cast
    Debezium发布历史153
    GuLi商城-商品服务-API-品牌管理-JSR303数据校验
    ent M2M模型在pxc集群中的一个大坑
  • 原文地址:https://blog.csdn.net/qq_35395195/article/details/131411387