Friday, April 8, 2022

[SOLVED] docker-ce not showing up in `yum list available` with repo installed

Issue

Edit: I'd still like an answer to this question if possible, but I have managed to work around it by directly installing the individual rpms rather than relying on yum to do it for me.

I'm struggling with installing docker-ce on a CentOS 7 box. I have it installed on three other boxes, but the fourth is giving me problems. I am following the instructions here. Installing the repo appears to work, but docker-ce doesn't appear to be available no matter what I try.

$ sudo yum-config-manager \
>     --add-repo \
>     https://download.docker.com/linux/centos/docker-ce.repo
Loaded plugins: fastestmirror, langpacks
adding repo from: https://download.docker.com/linux/centos/docker-ce.repo
grabbing file https://download.docker.com/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
repo saved to /etc/yum.repos.d/docker-ce.repo

$ ls /etc/yum.repos.d/docker-ce.repo
/etc/yum.repos.d/docker-ce.repo

# This should include docker-ce, docker-ce-cli, and a few other things
$ yum --disablerepo="*" --enablerepo="docker-ce-stable" list available
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
Available Packages
containerd.io.x86_64                                 1.2.6-3.3.el7                                  docker-ce-stable

$ sudo yum install docker-ce
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.fileplanet.com
 * epel: mirror.colorado.edu
 * extras: mirrors.tummy.com
 * updates: mirrors.tummy.com
No package docker-ce available.
Error: Nothing to do

The repo is obviously enabled. I am able to install containerd.io from the repo. It just appears that nothing else is available in the repo. Even when I copy the repo from another CentOS7 box where it works, I still don't see the docker-ce package. This repo worked fine on three other boxes tonight.

Any help would be appreciated. Thanks in advance!

Edit:

Running yum clean all and yum update have not helped.

$ rm /etc/yum.repos.d/docker-ce.repo
rm: remove regular file ‘/etc/yum.repos.d/docker-ce.repo’? y

$ yum clean all
Loaded plugins: fastestmirror, langpacks
Cleaning repos: base epel extras updates
Cleaning up list of fastest mirrors
Other repos take up 18 M of disk space (use --verbose for details)

$ yum update
Loaded plugins: fastestmirror, langpacks
Determining fastest mirrors
epel/x86_64/metalink                                                                         |  14 kB  00:00:00
 * base: repos.forethought.net
 * epel: d2lzkl7pfhq30w.cloudfront.net
 * extras: repos.forethought.net
 * updates: repos.forethought.net
base                                                                                         | 3.6 kB  00:00:00
epel                                                                                         | 5.4 kB  00:00:00
extras                                                                                       | 2.9 kB  00:00:00
updates                                                                                      | 2.9 kB  00:00:00
(1/7): base/7/x86_64/group_gz                                                                | 165 kB  00:00:00
(2/7): base/7/x86_64/primary_db                                                              | 6.0 MB  00:00:00
(3/7): epel/x86_64/group_gz                                                                  |  90 kB  00:00:00
(4/7): epel/x86_64/updateinfo                                                                | 1.0 MB  00:00:00
(5/7): extras/7/x86_64/primary_db                                                            | 153 kB  00:00:00
(6/7): updates/7/x86_64/primary_db                                                           | 2.8 MB  00:00:00
(7/7): epel/x86_64/primary_db                                                                | 6.9 MB  00:00:01
No packages marked for update

$ yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
Loaded plugins: fastestmirror, langpacks
adding repo from: https://download.docker.com/linux/centos/docker-ce.repo
grabbing file https://download.docker.com/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
repo saved to /etc/yum.repos.d/docker-ce.repo

$ yum list available | grep docker-ce
containerd.io.x86_64                      1.2.10-3.2.el7                 docker-ce-stable

$ yum install docker-ce
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: repos.forethought.net
 * epel: d2lzkl7pfhq30w.cloudfront.net
 * extras: repos.forethought.net
 * updates: repos.forethought.net
No package docker-ce available.
Error: Nothing to do
$ yum --disablerepo="*" --enablerepo="docker-ce-stable" list available
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
Available Packages
containerd.io.x86_64                                 1.2.10-3.2.el7                                 docker-ce-stable

Solution

There are many ways of enforcing yum to exclude a repo. One of them is by setting the exclude directive on /etc/yum.conf. This config has priority over the --disablerepo and --enablerepo flags.

You must check your /etc/yum.conf, removing the exclude or forcing yum to ignore it using the --disableexcludes=all flag.

--disableexcludes=[all|main|repoid]
Disable  the excludes defined in your config files. Takes one of three options:

all == disable all excludes
main == disable excludes defined in [main] in yum.conf
repoid == disable excludes defined for that repo

e.g:

yum --disablerepo="*" --enablerepo="docker-ce-stable" --disableexcludes=all list available



Answered By - Eduardo Baitello
Answer Checked By - Timothy Miller (WPSolving Admin)