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
コメント