skip to Main Content

Question

How to fix the Cannot download repodata/repomd.xml: All mirrors were tried for docker-ce.

Problem

Get the error Cannot download repodata/repomd.xml: All mirrors were tried with yum install docker-ce by following the current (as of 2021DEC13) Docker documentations to setup Docker yum/dnf repositories.

Steps & Error

$ sudo dnf -y install dnf-plugins-core
Last metadata expiration check: 0:43:20 ago on Wed 15 Dec 2021 03:47:53 AM UTC.
Package dnf-plugins-core-4.0.21-3.el8.noarch is already installed.
Dependencies resolved.
Nothing to do.
Complete!

$ sudo dnf config-manager 
>     --add-repo 
>     https://download.docker.com/linux/fedora/docker-ce.repo
Adding repo from: https://download.docker.com/linux/fedora/docker-ce.repo

$ sudo yum update
Docker CE Stable - x86_64                                                                                                                                                                                             357  B/s | 383  B     00:01    
Errors during downloading metadata for repository 'docker-ce-stable':
  - Status code: 404 for https://download.docker.com/linux/fedora/8/x86_64/stable/repodata/repomd.xml (IP: 13.224.175.42)
Error: Failed to download metadata for repo 'docker-ce-stable': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried

Environment

Reproduced with 8.4 and 8.5. However, other Fedora/RHEL/CentOS would have the same issue.

$ cat /etc/os-release
NAME="Red Hat Enterprise Linux"
VERSION="8.5 (Ootpa)"

4

Answers


  1. Chosen as BEST ANSWER

    Cause

    The commands specified in the Docker documentations generates incorrect repository configurations.

    As per Changes to dockerproject.org APT and YUM repositories, the repository for docker is now moved to download.docker.com. The document links to the Docker documentations such as Install Docker Engine on Fedora.

    What do I need to do?

    If you are currently using the APT or YUM repositories from dockerproject.org or dockerproject.com, please update to use the repositories at download.docker.com.

    You can find instructions for CentOS, Debian, Fedora and Ubuntu in the documentation.

    You follow the instruction:

    $ sudo dnf config-manager 
        --add-repo 
        https://download.docker.com/linux/fedora/docker-ce.repo
    

    The command creates /etc/yum.repos.d/docker-ce.repo which has wrong URL.

    [docker-ce-stable]
    name=Docker CE Stable - $basearch
    baseurl=https://download.docker.com/linux/fedora/$releasever/$basearch/stable # <--- Wrong URL
    enabled=1
    gpgcheck=1
    gpgkey=https://download.docker.com/linux/fedora/gpg
    

    As explained in Unable to install docker on rhel 8 linux, it should have been:

    [docker-ce-stable]
    name=Docker CE Stable - $basearch
    baseurl=https://download.docker.com/linux/centos/$releasever/$basearch/stable # <--- Correct URL
    enabled=1
    gpgcheck=1
    gpgkey=https://download.docker.com/linux/centos/gpg
    

    Not sure who should fix this. Please advise who is in charge.

    Solution

    Use the command below for RHEL/Fedora instead of the one specified in the Docker documentation.

    sudo dnf config-manager 
    --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
    

    If the incorrect configuration has been already created.

    sed -i -e 's/baseurl=https://download.docker.com/linux/(fedora|rhel)/$releasever/baseurl=https://download.docker.com/linux/centos/$releasever/g' /etc/yum.repos.d/docker-ce.repo
    

  2. To simplify @mon solution

    edit this file /etc/yum.repos.d/docker-ce.repo

    If you're using fedora: 
       then compare the example below with your file (make sure 
       you have the word fedora in the baseurl and the gpgkey)
    
    If you're using a different distro (like centos):
       then everywhere that you see the word fedora replace it 
       with the word centos.
    

    example:

    [docker-ce-stable]
    name=Docker CE Stable - $basearch
    baseurl=https://download.docker.com/linux/fedora/$releasever/$basearch/stable
    enabled=1
    gpgcheck=1
    gpgkey=https://download.docker.com/linux/fedora/gpg
    
    [docker-ce-stable-debuginfo]
    name=Docker CE Stable - Debuginfo $basearch
    baseurl=https://download.docker.com/linux/fedora/$releasever/debug-$basearch/stable
    enabled=0
    gpgcheck=1
    gpgkey=https://download.docker.com/linux/fedora/gpg
    
    [docker-ce-stable-source]
    name=Docker CE Stable - Sources
    baseurl=https://download.docker.com/linux/fedora/$releasever/source/stable
    enabled=0
    gpgcheck=1
    gpgkey=https://download.docker.com/linux/fedora/gpg
    
    [docker-ce-test]
    name=Docker CE Test - $basearch
    baseurl=https://download.docker.com/linux/fedora/$releasever/$basearch/test
    enabled=0
    gpgcheck=1
    gpgkey=https://download.docker.com/linux/fedora/gpg
    
    [docker-ce-test-debuginfo]
    name=Docker CE Test - Debuginfo $basearch
    baseurl=https://download.docker.com/linux/fedora/$releasever/debug-$basearch/test
    enabled=0
    gpgcheck=1
    gpgkey=https://download.docker.com/linux/fedora/gpg
    
    [docker-ce-test-source]
    name=Docker CE Test - Sources
    baseurl=https://download.docker.com/linux/fedora/$releasever/source/test
    enabled=0
    gpgcheck=1
    gpgkey=https://download.docker.com/linux/fedora/gpg
    
    [docker-ce-nightly]
    name=Docker CE Nightly - $basearch
    baseurl=https://download.docker.com/linux/fedora/$releasever/$basearch/nightly
    enabled=0
    gpgcheck=1
    gpgkey=https://download.docker.com/linux/fedora/gpg
    
    [docker-ce-nightly-debuginfo]
    name=Docker CE Nightly - Debuginfo $basearch
    baseurl=https://download.docker.com/linux/fedora/$releasever/debug-$basearch/nightly
    enabled=0
    gpgcheck=1
    gpgkey=https://download.docker.com/linux/fedora/gpg
    
    [docker-ce-nightly-source]
    name=Docker CE Nightly - Sources
    baseurl=https://download.docker.com/linux/fedora/$releasever/source/nightly
    enabled=0
    gpgcheck=1
    gpgkey=https://download.docker.com/linux/fedora/gpg
    
    Login or Signup to reply.
  3. I am running Centos Stream 9, which is a different animal. Like the others had said, I edited /etc/yum.repos.d/docker-ce.repo
    But instead of …/linux/rhel/$releas..
    change to …/linux/centos/$rel…
    It may be that need to change $rel.. to /8/

    Login or Signup to reply.
  4. docker is not supported for RHEL 86x_64x

    i saw a solution to edit the .repo file inside /etc/yum.repos.d/docker-ce****.repo and edit the [docker-ce-stable] baseurl to

    https://download.docker.com/linux/centos/$releasever/$basearch/stable

    centos will work with RHEL.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search