./discourse-setup: github.com 호스트를 찾을 수 없습니다

./discourse-setup를 실행하면 다음과 같은 오류로 계속 실패합니다:

cd /pups && git pull && /pups/bin/pups --stdin
fatal: unable to access 'https://github.com/discourse/pups.git/': Could not resolve host: github.com
fe7a66f6321f948dd840124da1f0165db18807367b4419e1cc9906eb7f71a0a8
** FAILED TO BOOTSTRAP **

이 포럼과 GitHub 주변에서 찾을 수 있었던 이 문제에 대한 해결책 중 최소 3가지를 시도해 보았습니다. 여기에는 Docker에서 “인터넷 연결 없음” 및 "DNS 문제"에 대한 Docker Stack Overflow 답변도 포함됩니다.

Discourse 포럼 소프트웨어를 설정하는 방법에 대해 찾을 수 있었던 최소 2가지 다른 튜토리얼을 따라 보았습니다. 하나는 공식 튜토리얼이고, 다른 하나는 다른 튜토리얼입니다.

DNS가 구성된 daemon.json 파일을 설정하고, docker0 인터페이스를 프로미스커스(promiscuous) 모드로 설정하는 등의 조치를 취했습니다.

그 모든 조치에도 불구하고 여전히 동일한 문제가 발생합니다.

저는 OVH에서 호스팅하는 Ubuntu 20.04 서버를 사용 중입니다.

호스트에서는 github.com에 ping을 보내 응답을 받을 수 있지만, Docker 환경에서는 그렇지 않습니다.

도움을 주실 수 있는 분 계신가요?

수정: 컨테이너 환경의 /etc/hosts 파일에 GitHub의 IP 주소를 수동으로 입력해 본 후, “unable to resolve github.com” 대신 "connection timed out"이라는 메시지가 표시됩니다.

최근 며칠 동안 보고된 사례만 해도 이번이 최소 두 번째입니다.

해당 프로세스를 확인해 보겠습니다.

도커를 어떻게 설치하셨나요?

처음 /discourse-setup을 실행했을 때 Docker가 자동으로 설치된 것 같습니다.

그리고 컨테이너 환경의 /etc/hosts 파일에 GitHub의 IP 주소를 수동으로 추가한 후, 이제는 “unable to resolve github.com” 대신 "connection timed out"이라는 메시지가 표시됩니다.

따라서 단순히 DNS 문제가 아니라 일반적인 인터넷 연결 문제인 것 같습니다. --network host 옵션으로 실행해 보았지만, 호스트에서는 잘 동작하는데도 불구하고 여전히 작동하지 않았습니다.

간단한 테스트용 Docker 컨테이너를 실행하면 인터넷에 접근할 수 있습니다. Discourse 컨테이너만 외부로 연결되지 않는 것 같습니다.

참고로, DigitalOcean 드롭렛(README에서 권장하는 방식)에서는 정상적으로 작동하는 것 같습니다. 하지만 기존에 사용 중인 Ubuntu 20.04 서버에서는 이 문제가 여전히 지속되고 있습니다.

저도 Ubuntu 20.04 기반의 Digital Ocean 기본 드롭렛에서 동일한 문제를 겪고 있습니다. 아직 해결책을 찾으신 건가요?

지금 보니 작동하는 것 같습니다. After upgrade, docker cannot communicate with the outside world - #24 by niels-anders 참고해 주세요.