【Docker】【CentOS】【エラー】Error: Failed to download metadata for repo ‘appstream’: Cannot prepare internal mirrorlist: No URLs in mirrorlist【Docker】【CentOS】【エラー】

CentOSのコンテナイメージで、パッケージをインストールするため、Dockerfileを作って、docker buildしても上手くいかない場合がある。以下のようなエラーが発生する。

Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist



CentOSのパッケージをダウンロードの参照先が古いため、更新が必要。
Dockerfileに以下のコードを追加してbuildすれば、これで解決!!

RUN cd /etc/yum.repos.d/
RUN sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
RUN sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*



Dockerfileの中身を全部記載すると、以下のようになります。コピペして使ってください。
ping、ifconfigが実行できるようにdocker hubのレジストリからCentOSコンテナイメージを取得しています。

FROM centos:latest

RUN cd /etc/yum.repos.d/
RUN sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
RUN sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*

RUN yum install -y iputils
RUN yum install -y net-tools

コメント

タイトルとURLをコピーしました