繁体   English   中英

RHEL8/Fedora - yum/dns 导致无法为 docker-ce 下载 repodata/repomd.xml

[英]RHEL8/Fedora - yum/dns causes cannot download repodata/repomd.xml for docker-ce

问题

如何修复Cannot download repodata/repomd.xml: All mirrors were tried

问题

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.

步骤和错误

$ 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

环境

用 8.4 和 8.5 复制。 但是,其他 Fedora/RHEL/CentOS 也会有同样的问题。

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

原因

Docker 文档中指定的命令会生成不正确的存储库配置。

根据对 dockerproject.org APT 和 YUM 存储库的更改,docker 的存储库现在移至download.docker.com 。docker.com。 该文档链接到 Docker 文档,例如Install Docker Engine on Fedora

我需要做什么?

如果您当前正在使用来自 dockerproject.org 或 dockerproject.com 的 APT 或 YUM 存储库,请更新以使用下载处的存储库。docker.Z4D236D9A2D102C5FE6AD1C5ZDAB4。

您可以在文档中找到 CentOS、Debian、 Fedora和 Ubuntu 的说明。

您按照以下说明进行操作:

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

该命令创建/etc/yum.repos.d/docker-ce.repo有错误的 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

Unable to install docker on rhel 8 linux中所述,它应该是:

[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

不知道谁应该解决这个问题。 请告知谁负责。

解决方案

对 RHEL/Fedora 使用以下命令,而不是 Docker 文档中指定的命令。

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

如果已经创建了不正确的配置。

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

简化@mon 解决方案

编辑这个文件/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.

例子:

[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

我正在运行 Centos Stream 9,这是另一种动物。 就像其他人说的那样,我编辑了 /etc/yum.repos.d/docker-ce.repo 但不是.../linux/rhel/$releas.. 改为.../linux/centos/$rel。 .. 可能需要将 $rel.. 更改为 /8/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM