【问题标题】:Cannot install docker in a RHEL server无法在 RHEL 服务器中安装 docker
【发布时间】:2021-04-28 21:42:10
【问题描述】:

在 RHEL-7 中安装 docker 时出现 Requires: fuse-overlayfs >= 0.7 错误。

sudo yum install docker-ce
Loaded plugins: fastestmirror, langpacks, product-id, search-disabled-repos, subscription-manager

This system is not registered with an entitlement server. You can use subscription-manager to register.

Loading mirror speeds from cached hostfile
 * epel: mirrors.syringanetworks.net
Resolving Dependencies
--> Running transaction check
---> Package docker-ce.x86_64 3:20.10.2-3.el7 will be installed
--> Processing Dependency: containerd.io >= 1.4.1 for package: 3:docker-ce-20.10.2-3.el7.x86_64
--> Processing Dependency: docker-ce-cli for package: 3:docker-ce-20.10.2-3.el7.x86_64
--> Processing Dependency: docker-ce-rootless-extras for package: 3:docker-ce-20.10.2-3.el7.x86_64
--> Running transaction check
---> Package containerd.io.x86_64 0:1.4.3-3.1.el7 will be installed
---> Package docker-ce-cli.x86_64 1:20.10.2-3.el7 will be installed
---> Package docker-ce-rootless-extras.x86_64 0:20.10.2-3.el7 will be installed
--> Processing Dependency: fuse-overlayfs >= 0.7 for package: docker-ce-rootless-extras-20.10.2-3.el7.x86_64
--> Finished Dependency Resolution
Error: Package: docker-ce-rootless-extras-20.10.2-3.el7.x86_64 (docker-ce-stable)
           Requires: fuse-overlayfs >= 0.7
 You could try using --skip-broken to work around

我已经试过了

sudo rpm -Uvh http://mirror.centos.org/centos/7/extras/x86_64/Packages/fuse-overlayfs-0.7.2-6.el7_8.x86_64.rpm
Retrieving http://mirror.centos.org/centos/7/extras/x86_64/Packages/fuse-overlayfs-0.7.2-6.el7_8.x86_64.rpm
warning: /var/tmp/rpm-tmp.TZLjHD: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
error: Failed dependencies:
    libfuse3.so.3()(64bit) is needed by fuse-overlayfs-0.7.2-6.el7_8.x86_64
    libfuse3.so.3(FUSE_3.0)(64bit) is needed by fuse-overlayfs-0.7.2-6.el7_8.x86_64
    libfuse3.so.3(FUSE_3.2)(64bit) is needed by fuse-overlayfs-0.7.2-6.el7_8.x86_64

【问题讨论】:

    标签: linux docker centos7 rhel rhel7


    【解决方案1】:

    基于@user3495504 的回答,我们解决问题的方法是在文件/etc/yum.repos.d/docker-ce.repo 顶部添加一个条目,内容如下:

    [centos-extras]
    name=Centos extras - $basearch
    baseurl=http://mirror.centos.org/centos/7/extras/x86_64
    enabled=1
    gpgcheck=1
    gpgkey=http://centos.org/keys/RPM-GPG-KEY-CentOS-7
    

    然后是安装命令:

    yum -y install slirp4netns fuse-overlayfs container-selinux
    

    成功了。

    [编辑]

    • 启用 gpgcheck

    【讨论】:

    • 有点担心将这个 CentOS 存储库添加到我的 RHEL 服务器 :) 但它有效
    • 谢谢,也为我工作!但是如果我们启用 gpg 检查可能会更好? ``` gpgcheck=1 gpgkey=centos.org/keys/RPM-GPG-KEY-CentOS-7 ``` 对我来说,不需要显式运行yum -y install slirp4netns fuse-overlayfs container-selinux
    • @keith-ang 我同意,这听起来对我来说更安全。
    • 我需要在 centos.org 前面添加一个“http://”... 在 pgpkey=之后
    • libfuse3.so.3 仍然需要气隙安装
    【解决方案2】:

    在尝试安装 Docker 时也遇到了这个问题。这有助于获得 fuse-overlayfs

    sudo yum install fuse3-devel
    wget http://mirror.centos.org/centos/7/extras/x86_64/Packages/fuse-overlayfs-0.7.2-6.el7_8.x86_64.rpm
    sudo yum localinstall fuse-overlayfs-0.7.2-6.el7_8.x86_64.rpm
    

    我从http://mirror.centos.org/centos/7/extras/x86_64/Packages/获得了包裹网址

    我接下来缺少的是slirp4netns >= 0.4。我要尝试同样的伎俩。是的,这确实有效,并且 docker install 完成了

     sudo yum install docker-ce docker-ce-cli containerd.io
    

    【讨论】:

    • 在 Oracle linux 上,fuse3-devel 包默认不可用。您必须按照 Bruno Unna 提供的解决方案中的说明添加 centos extras repo,然后才能安装所需的 docker 依赖项。
    【解决方案3】:

    安装 fuse3 库包。这将提供缺少的依赖项。然后在进行 docker install 之前尝试 fuse overlay 包

    【讨论】:

      猜你喜欢
      • 2021-06-24
      • 2021-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-16
      相关资源
      最近更新 更多