인프런 커뮤니티 질문&답변

작성자 없음

작성자 정보가 삭제된 글입니다.

따라하며 배우는 MySQL on Docker

CentOS EOS에 따라 기존의 레포지토리 내 패키지들이 삭제되어에러 발생!

24.08.16 17:44 작성

·

36

·

수정됨

0

안녕하세요! CentOS의 EOS가 종료됨에 따라 레포지토리가 더이상 사용할 수 없게 되어서

docker build -t mysql57.0.0 ./ 명령어 시에 아래와 같은 에러가 발생합니다.

 


$ docker build -t mysql57.0.0 ./

...
...

=> ERROR [ 5/12] RUN yum install -y perl.x86_64     libaio.x86_64     numactl-libs.x86_64     net-tools.x86_64     sudo.x86_64

Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=container error was

0.572 14: curl#6 - "Could not resolve host: mirrorlist.centos.org; Unknown error"

 

 


이는 레포지토리가 더이상 지원하지 않아서 yum install -y 할 때 나타나는 에러입니다.

 

그래서 /etc/yum.repos.d/CentOS-Base.repo 의 내용을 아래와 같이 변경해야합니다.



[base]
name=CentOS-$releasever - Base
# original
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
# new
baseurl=http://centos.mirror.cdnetworks.com/7/os/x86_64
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#released updates
[updates]
name=CentOS-$releasever - Updates
# original
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
# new
baseurl=http://centos.mirror.cdnetworks.com/7/updates/x86_64
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
# original
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
# new
baseurl=http://centos.mirror.cdnetworks.com/7/extras/x86_64
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
# original
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
# new
baseurl=http://centos.mirror.cdnetworks.com/7/centosplus/x86_64
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

 

 

그리고 CentOS-Base.repo 파일을 Dockerfile에 추가하였습니다

FROM centos:7
COPY ["Percona-Server-client-57-5.7.30-33.1.el7.x86_64.rpm",\
      "Percona-Server-server-57-5.7.30-33.1.el7.x86_64.rpm", \
      "Percona-Server-shared-57-5.7.30-33.1.el7.x86_64.rpm", \
      "Percona-Server-shared-compat-57-5.7.30-33.1.el7.x86_64.rpm", \
      "node_exporter-1.0.1.linux-amd64.tar.gz", \
      "mysqld_exporter-0.12.1.linux-amd64.tar.gz", \
      "start_node_exporter.sh", \
      "start_mysqld_exporter.sh", \
      ".my.cnf","/tmp/"]
COPY CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo
USER root
RUN groupadd -g 1001 mysql
RUN useradd -u 1001 -r -g 1001 mysql
RUN yum install -y perl.x86_64 \
    libaio.x86_64 \
    numactl-libs.x86_64 \
    net-tools.x86_64 \
    sudo.x86_64
RUN yum downgrade -y openssl-libs-1.0.2k-16.el7  -> 다운그레이드!

...
...
...

 

COPY CentOS-Base.repo /etc/you.repos.d/CentOS-Base.repo를 추가하고 나서

docker build -t mysql57.0.0 ./ 실행하니까 정상적으로 잘 되네요!

 

그리고 이유는 모르겠으나 yum install -y penssl-libs-1.0.2k-16.el7을 하면 패키지 버전 충돌때문에 빌드 시 에러가 발생합니다.

yum install -y penssl-libs-1.0.2k-16.el7를 제거하고 yum downgrade -y openssl-libs-1.0.2k-16.el7를 추가하니까 빌드가 잘됩니다.. 이유는 레포지토리가 변경되면서 뭔가.. 그런거 같기도하고 잘모르겠네요

 

감사합니다.!

 

답변 1

0

인프런 AI 인턴님의 프로필 이미지

2024. 08. 16. 17:46

안녕하세요, 인프런 AI 인턴입니다.

km9311님께서 겪고 계신 CentOS EOS 문제와 관련하여 실제 수강생이 레포지토리 변경으로 문제를 해결한 사례를 발견했습니다. 해당 질문에서는 Dockerfile 내에서 yum 명령어를 사용할 때 발생하는 문제를 해결하기 위해 CentOS의 기본 레포지토리 설정을 변경하는 방법을 소개하고 있습니다. CentOS EOS로 인해 기본 레포지토리 접근이 불가능해지는 상황에서 이와 같은 접근 방식은 매우 유용합니다.

유사한 상황을 겪고 계신 다른 학생의 질문과 해당하는 답변을 참고하시면 도움이 될 수 있습니다.

  • 질문 제목: ”[Dockerfile] RUN yum install 에러 대응 방안”에서 동일하게 yum install 명령어 실행 관련 문제를 겪고 있습니다. 해당 학생은 리포지토리 설정 변경을 통해 문제를 해결하고 있습니다. 특히, CentOS-* 파일 리포지토리 주소를 수정하여 vault.centos.org를 사용하는 방법을 소개하고 있습니다.

이러한 방법은 km9311님의 문제 해결에도 직접적인 도움을 줄 수 있으며, CentOS EOS로 인한 문제를 해결하는 데 필요한 구체적인 해결책이 될 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기