Docker의 Alpine apk가 이름 확인에 실패하고 빠졌습니다.
오류 메시지
ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.11/main: No such file or directory
WARNING: Ignoring APKINDEX.70f61090.tar.gz: No such file or directory
ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.11/community: No such file or directory
WARNING: Ignoring APKINDEX.ca2fea5b.tar.gz: No such file or directory
2 errors; 15 distinct packages available
생각한 것
분명히 Alpine 측의 문제일 거라고 생각했는데,
이 Issue가 상당히 전부터 있었던 것 같고,
여기서 굉장히 고조되고 있습니다.
무엇이 원인인지 잘 모르겠지만,
http://dl-cdn.alpinelinux.org/alpine/v3.11/community
직접 curl로 잡으러 가면 잡을 수 있네요.그럼에도 불구하고 Error Message는
No such file or directory
입니다.라는 것은,
- 알파인 측의 DNS가 망가졌는지
- Docker 컨테이너의 내부 네트워크가 이상한가?
라고 생각할 것 같습니다.
글쎄, Docker에서 yum이나 apt로 파일은 매우 이것 때문에, 이상하지 않다고 생각합니다만, 일단 Docker의 호스트를 찾는 구조를 조사해 보겠습니다.
Docker 외부와의 통신 구조가 간결하고 알기 쉽게 쓰여져 있네요.
이 경고는 Docker 컨테이너가 로컬 DNS 서버를 사용할 수 없기 때문입니다. 대신 Docker는 기본적으로 외부 네임 서버를 사용합니다.
과연. 아무쪼록 부디 느낌입니다만, 사용하고 있는 DNS 서버는 다릅니다.
로컬만 있는 DNS와 별개인 것 같고, 이 네임 서버에 도달할 수 없어 이끼 하고 있는 설을 우선 생각해 보십니까.
어쨌든 Docker 이미지 내부에서 어떻게 이름 해석하고 있는지 알아보고 싶습니다. 어디에 DNS 설정 파일이 있는지. . .
열심히 조사했는데, 아무래도
/etc/resolv.conf
가 참조하고있는 DNS의 주소를 설정하는 장소 같았으므로 확인하면nameserver 8.8.8.8
nameserver 8.8.4.4
되었습니다.
로컬 맥은
#
# macOS Notice
#
# This file is not consulted for DNS hostname resolution, address
# resolution, or the DNS query routing mechanism used by most
# processes on this system.
#
# To view the DNS configuration used by this system, use:
# scutil --dns
#
# SEE ALSO
# dns-sd(1), scutil(8)
#
# This file is automatically generated.
#
nameserver 192.168.254.2
nameserver 8.8.8.8
192쪽이 일반적으로 로컬이 참조하고 있는 DNS일 것이다라는 느낌
8.8.8.8은 Docker에 의해 추기된 것이지만,
어쩌면 여기에 도착하지 않았어요.
그러므로
nameserver 192.168.254.2
nameserver 8.8.8.8
nameserver 8.8.4.4
보면,
잘 작동했습니다
8.8.8.8부터 Alpine이 보이지 않는 것은 결국 Alpine 측이 나쁘다는 것이 좋습니까? ? (잘 모르겠다)
Reference
이 문제에 관하여(Docker의 Alpine apk가 이름 확인에 실패하고 빠졌습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/riita10069/items/9cb3a651be82052fc70d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)