docker-install: installer fails on CentOS8, unmet dep slirp4netns

Sorry, I am not sure if this is the correct place to put this, but the installer is failing with dependency issues. docker-ce-rootless-extras seems to require slirp4netns.

FWIW I had installed docker on a server on Friday, that server doesn’t have docker-ce-rootless-extras installed, which is what seems to depend on slirp4netns.

# curl -fsSL https://get.docker.com | sudo bash

# Executing docker install script, commit: 3d8fe77c2c46c5b7571f94b42793905e5b3e42e4
+ sh -c 'yum install -y -q yum-utils'
+ sh -c 'yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo'
Adding repo from: https://download.docker.com/linux/centos/docker-ce.repo
+ '[' stable '!=' stable ']'
+ sh -c 'yum makecache'
CentOS-8 - AppStream                                                                  8.5 kB/s | 4.3 kB     00:00    
CentOS-8 - Base                                                                        19 kB/s | 3.9 kB     00:00    
CentOS-8 - Extras                                                                     7.0 kB/s | 1.5 kB     00:00    
Docker CE Stable - x86_64                                                              12 kB/s | 3.5 kB     00:00    
Extra Packages for Enterprise Linux Modular 8 - x86_64                                 48 kB/s |  18 kB     00:00    
Extra Packages for Enterprise Linux 8 - x86_64                                        151 kB/s |  18 kB     00:00   
Metadata cache created.
+ '[' -n '' ']'
+ sh -c 'yum install -y -q docker-ce'
Error: 
 Problem: package docker-ce-3:20.10.1-3.el8.x86_64 requires docker-ce-rootless-extras, but none of the providers can be installed
  - package docker-ce-rootless-extras-20.10.0-3.el8.x86_64 requires slirp4netns >= 0.4, but none of the providers can be installed
  - package docker-ce-rootless-extras-20.10.1-3.el8.x86_64 requires slirp4netns >= 0.4, but none of the providers can be installed
  - cannot install the best candidate for the job
  - package slirp4netns-0.4.2-3.git21fdece.module_el8.3.0+479+69e2ae26.x86_64 is filtered out by modular filtering
  - package slirp4netns-1.1.4-2.module_el8.3.0+475+c50ce30b.x86_64 is filtered out by modular filtering
  - package slirp4netns-0.4.2-3.git21fdece.module_el8.2.0+304+65a3c2ac.x86_64 is filtered out by modular filtering
  - package slirp4netns-0.4.2-3.git21fdece.module_el8.2.0+305+5e198a41.x86_64 is filtered out by modular filtering

thanks folks

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Comments: 15 (2 by maintainers)

Most upvoted comments

Similar problem on RHEL 7.4 running on bare metal, cannot install package docker-ce-rootless-extras due to missing dependencies; and RHEL7 does not have dnf so I cannot try the solution mentioned by @shakeme to enable container-tools.

Error: Package: docker-ce-rootless-extras-20.10.6-3.el7.x86_64 (docker-ce-stable)
           Requires: slirp4netns >= 0.4
Error: Package: 3:docker-ce-20.10.6-3.el7.x86_64 (docker-ce-stable)
           Requires: container-selinux >= 2:2.74
Error: Package: docker-ce-rootless-extras-20.10.6-3.el7.x86_64 (docker-ce-stable)
           Requires: fuse-overlayfs >= 0.7
Error: Package: containerd.io-1.4.4-3.1.el7.x86_64 (docker-ce-stable)
           Requires: container-selinux >= 2:2.74

Also tried for slirp4netns on its own:

# yum install slirp4netns
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager
No package slirp4netns available.
Error: Nothing to do

A stackoverflow answer put me on to this repo, created /etc/yum.repos.d/centos-extras.repo with this content:

[centos-extras]
name=Centos extras - $basearch
baseurl=http://mirror.centos.org/centos/7/extras/x86_64
enabled=1
gpgcheck=0

Then the dependencies were found.

I had the same probem and was able to reproduce and solve it.

You need to enable the container-tools. dnf -y module enable container-tools

Problem explained: When i set up the instance i installed docker with an ansible role from geerlingguy (ansible-role-docker). Before version 3.0.0 this role disabled the containter-tools module to make an install of docker 19.x possible. With docker 20.x you need this module activated to be able to install docker. The ansible role itself is just “not disabling” the module anymore for a good reason.

I hope i can help someone with this. 😃

Anyone else who is still facing this issue, I was able to fix this issue by enabling developer repo. sudo yum-config-manager --enable ol7_developer

On the RHEL 7 dependencies can be resolved by enabling extras repo: yum-config-manager --enable rhel-7-server-rhui-extras-rpms

on RHEL 7.6 the below helped me $vi /etc/yum.repos.d/docker-ce.repo at the starting add below [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

Then run the installation command to install dependent packages

sudo yum -y install slirp4netns fuse-overlayfs container-selinux

now install docker

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

On Oracle Linux Server 7.9 I had a similar issue when installing docker-ce Error: Package: docker-ce-rootless-extras-20.10.12-3.el7.aarch64 (docker-ce-stable) Requires: fuse-overlayfs >= 0.7 Error: Package: docker-ce-rootless-extras-20.10.12-3.el7.aarch64 (docker-ce-stable) Requires: slirp4netns >= 0.4

sudo yum-config-manager --enable ol7_developer fixed the issue for me