【问题标题】:RHEL8/Fedora - yum/dns causes cannot download repodata/repomd.xml for docker-ceRHEL8/Fedora - yum/dns 导致无法为 docker-ce 下载 repodata/repomd.xml
【发布时间】:2021-12-15 14:21:54
【问题描述】:

问题

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

问题

按照当前(截至 2021 年 12 月 13 日)Docker 文档设置 Docker yum/dnf 存储库,获取错误 Cannot download repodata/repomd.xml: All mirrors were triedyum install docker-ce

步骤和错误

$ 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)"

【问题讨论】:

    标签: linux docker yum dnf


    【解决方案1】:

    原因

    Docker 文档中指定的命令会生成错误的存储库配置。

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

    我需要做什么?

    如果您目前正在使用来自 dockerproject.org 或 dockerproject.com 的 APT 或 YUM 存储库,请更新以使用 download.docker.com 上的存储库。

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

    您按照说明进行操作:

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

    该命令创建了 URL 错误的 /etc/yum.repos.d/docker-ce.repo

    [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
    

    【讨论】:

    • Docker 文档无效吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-01-17
    • 1970-01-01
    • 2023-03-27
    • 2012-01-03
    • 1970-01-01
    • 2011-03-13
    • 2022-10-03
    相关资源
    最近更新 更多