今夜からRHEL 7にDocker CEをインストールできない

今夜からRHEL 7にDocker CEをインストールできない

このコマンドを使用して RHEL7 に Docker CE をインストールしていますが、次のエラーで失敗しています。しばらくは問題なく動作していましたが、今夜からエラーが発生し始めました。

sudo yum install -y yum-utils

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

何が変わったのか、何が起こったのかご存知ですか?

[pzagalsky@pzagalsky-au-rhel7-pzagalsky ~]$ sudo yum install docker-ce docker-ce-cli containerd.io
Failed to set locale, defaulting to C
https://download.docker.com/linux/centos/7Server/x86_64/nightly/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found
Trying other mirror.
To address this issue please refer to the below knowledge base article

https://access.redhat.com/articles/1320623

If above article doesn't help to resolve this issue please open a ticket with Red Hat Support.



 One of the configured repositories failed (Docker CE Nightly - x86_64),
 and yum doesn't have enough cached data to continue. At this point the only
 safe thing yum can do is fail. There are a few ways to work "fix" this:

     1. Contact the upstream for the repository and get them to fix the problem.

     2. Reconfigure the baseurl/etc. for the repository, to point to a working
        upstream. This is most often useful if you are using a newer
        distribution release than is supported by the repository (and the
        packages for the previous distribution release still work).

     3. Run the command with the repository temporarily disabled
            yum --disablerepo=docker-ce-nightly ...

     4. Disable the repository permanently, so yum won't use it by default. Yum
        will then just ignore the repository until you permanently enable it
        again or use --enablerepo for temporary usage:

            yum-config-manager --disable docker-ce-nightly
        or
            subscription-manager repos --disable=docker-ce-nightly

     5. Configure the failing repository to be skipped, if it is unavailable.
        Note that yum will try to contact the repo. when it runs most commands,
        so will have to try and fail each time (and thus. yum will be be much
        slower). If it is a very temporary problem though, this is often a nice
        compromise:

            yum-config-manager --save --setopt=docker-ce-nightly.skip_if_unavailable=true

failure: repodata/repomd.xml from docker-ce-nightly: [Errno 256] No more mirrors to try.
https://download.docker.com/linux/centos/7Server/x86_64/nightly/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found

答え1

そのため、インストールとアンインストール時にこの問題が発生しました (昨日はすべて正常に動作していました)。

エラー コードを見ると、次のことがわかります。

https://download.docker.com/linux/centos/7Server/x86_64/nightly/repodata/repomd.xml: 
[Errno 14] HTTPS Error 404 - Not Found

そして、この URL をブラウザに入力すると、確かに 404 が表示されます... '/7Server/' 部分に余分なサーバーがあるように見えます...

一時的に変更に成功しましたが、/etc/yum.repos.d/docker-ce.repo実際には OS 固有のリポジ​​トリ (この場合は OL7) を使用する必要があったのに、Centos yum リポジトリを誤って使用していたことが判明しました。

質問の投稿者もおそらく間違った yum リポジトリを使用していたため、RHEL リポジトリを使用する必要がありました。

したがって、この問題の有効な修正方法は、Linux ディストリビューションに適切な yum リポジトリを選択することです。そうすれば、yum 経由の docker インストールが機能するはずです。

見るhttps://docs.docker.com/engine/install/ほとんどのディストリビューション

クラウド ホスト インスタンスを使用している場合は、Linux インスタンスにデフォルトの yum リポジトリが事前設定されている可能性があります。これは、OL7 インスタンスの場合であり、Ansible コードによって Centos yum リポジトリが誤って追加されたために問題が発生していました。

この問題に関する情報を提供してくれたjsbillingに感謝します。

関連情報