我正在按照此处所示的步骤进行操作。
它说通过调用来设置存储库:
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
然后通过运行安装:
sudo yum install docker-ce docker-ce-cli containerd.io
当我这样做时,我收到以下错误:
https://download.docker.com/linux/centos/7Server/x86_64/stable/repodata/repomd.xml:[Errno 14] HTTPS 错误 404 - 未找到
当我访问该 URL 时,它是 404。但我不确定正确的 URL 应该是什么以及如何让它使用正确的 URL。
我愿意接受任何有关如何使其发挥作用的建议。
更新:
进一步探索后,我发现这个 URL 可能就是我需要使用的 URL:
https://download.docker.com/linux/centos/7/x86_64/stable/repodata/repomd.xml
但我不知道如何让它使用它。
更新2:
在 https://download.docker.com/linux/centos/docker-ce.repo 下载文件(从第一个命令)显示它正在从名为
7Server
的 yum 变量获取 $releasever
值。
这个page表示从/etc/yum.conf中的设置
$releasever
读取distroverpkg
。 我添加了这样一行:distroverpkg=7
。
但是当我再次运行安装命令时,
7Server
直接被替换为$releasever
(没有发生替换)。 我正在寻找的 7
值没有被替换在那里。
仍然不知道如何下载并安装 docker。
更新3:
我能够将一个名为
releasever
的文件添加到 /etc/yum/vars 中,其中包含 7
的值。 当我再次运行安装命令时,它正确找到了存储库!
但是随后它需要加载另一个损坏的 URL。 看起来该 URL 想要
7Server
而不是 7
作为 releasever
变量。
看来我运气不好:(
这是 download.docker.com 的一个问题,他们自 9 月份以来就已经开放了。
基本上他们决定停用
7Server
网址。 它们重定向到简单的 7
网址 https://download.docker.com/linux/centos/7Server,但不重定向到任何更深层次的 url。
解决方法是调用此:
sudo yum-config-manager --setopt="docker-ce-stable.baseurl=https://download .docker.com/linux/centos/7/x86_64/stable" --save
在调用
sudo yum install
命令之前。
在 centos 7 上执行此操作 转到 cd /etc/yum.repos.d/ 并删除除centos相关存储库之外的所有其他存储库。 转到 docker 官方网站并再次按照安装说明进行操作。 对我有用
这里同样的问题。就我而言,它很难找到
$releasever
。
设法通过编辑 docker-ce.repo 来修复它:
sudo vi /etc/yum.repos.d/docker-ce.repo
并将所有
$releasever
替换为 7,使其看起来像这样:
[docker-ce-stable]
name=Docker CE Stable - $basearch
baseurl=https://download.docker.com/linux/centos/7/$basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg
[docker-ce-stable-debuginfo]
name=Docker CE Stable - Debuginfo $basearch
baseurl=https://download.docker.com/linux/centos/7/debug-$basearch/stable
enabled=0
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg
[docker-ce-stable-source]
name=Docker CE Stable - Sources
baseurl=https://download.docker.com/linux/centos/7/source/stable
enabled=0
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg
[docker-ce-test]
name=Docker CE Test - $basearch
baseurl=https://download.docker.com/linux/centos/7/$basearch/test
enabled=0
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg
[docker-ce-test-debuginfo]
name=Docker CE Test - Debuginfo $basearch
baseurl=https://download.docker.com/linux/centos/7/debug-$basearch/test
enabled=0
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg
[docker-ce-test-source]
name=Docker CE Test - Sources
baseurl=https://download.docker.com/linux/centos/7/source/test
enabled=0
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg
[docker-ce-nightly]
name=Docker CE Nightly - $basearch
baseurl=https://download.docker.com/linux/centos/7/$basearch/nightly
enabled=0
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg
[docker-ce-nightly-debuginfo]
name=Docker CE Nightly - Debuginfo $basearch
baseurl=https://download.docker.com/linux/centos/7/debug-$basearch/nightly
enabled=0
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg
[docker-ce-nightly-source]
name=Docker CE Nightly - Sources
baseurl=https://download.docker.com/linux/centos/7/source/nightly
enabled=0
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg
由于在新鲜的centos7上测试,我认为问题不是docker的问题。
另外,如果我搜索repomd.xml,我发现这是 Centos 中尝试安装其他工具时的常见问题:
错误:无法检索存储库元数据 (repomd.xml)
正如您将在问题中看到的,该问题与 centos 中的罕见行为有关,例如:存储库、证书、更新等
也许这对你有帮助:
yum clean all
yum check
yum erase apf
yum update ca-certificates
yum upgrade
另外,如果你不想头痛,删除你的centos并创建一个新的!