인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

ansghltjd9님의 프로필 이미지

작성한 질문수

실리콘밸리 엔지니어가 가르치는 파이썬 장고 웹프로그래밍

[Optional] 다커(Docker)를 사용한 Django 환경 만들기

0.0.0.0:8000 접속이 안됩니다

해결된 질문

작성

·

52

0

도커컴포즈 명령으로 실행시 localhost:8000은 접속이 되는데 ..

0.0.0.0:8000 도커서버로는 연결이 안됩니다 왜 그런가요?

답변 2

0

미쿡엔지니어님의 프로필 이미지
미쿡엔지니어
지식공유자

안녕하세요 ansghltjd9님,

이게 운영체제에 따라서 다른데, Windows에서는 이런 문제가 있더라구요.

우선 여러가지 이유가 있을 듯 한데요? 제가 생각나는 것만 몇가지 적어보겠습니다.

  • Firewall이나 Network configuration 문제일 가능성이 있는데, Firewall룰이 0.0.0.0을 막아 놓을 경우가 있습니다.

    • 방화벽에서 예외 규칙을 추가해줘야 합니다.

    • 방화벽 예외 규칙 추가 방법

      1. 제어판Windows Defender 방화벽고급 설정으로 이동

      2. 왼쪽에서 인바운드 규칙 선택 후 새 규칙 만들기

      3. 포트 선택 후 다음

      4. 특정 로컬 포트에 8000 입력 후 다음

      5. 연결 허용 선택 후 다음

      6. 프로필(도메인, 개인, 공용) 선택 후 다음

      7. 규칙 이름을 정하고 마침

  • Django Settings.py에 ALLOWED_HOSTS가 있는데 ['*']로 해보시겠어요?

  • Hosts file문제가 있을 수 있는데, 맥이나 유닉스 시스템 같은 경우 /etc/hosts 나 윈도우에서는 C:\Windows\System32\drivers\etc\hosts 를 확인해 보시겠어요?

    • C:\Windows\System32\drivers\etc\hosts 파일을 열어서 0.0.0.0이 특정 도메인과 매핑되어 있는지 확인하세요.

      기본적으로 0.0.0.0은 어떤 특정 도메인에 연결되면 안 됩니다.

  • OS 자체에서 막아놓을 가능성도 있습니다.

  • 마지막으로 다른 브라우져를 한번 사용해 보시겠어요?

0

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

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

도커 컴포즈 환경에서 localhost:8000은 접속이 되지만 0.0.0.0:8000으로는 접속이 안되는 문제가 발생하고 있군요. 이 문제의 가능성 있는 원인과 해결 방법을 몇 가지 짚어보겠습니다.

  1. 네트워크 설정 확인:

    • 도커 네트워크 설정이나 방화벽이 외부로부터의 연결을 막고 있을 수 있습니다. 0.0.0.0은 모든 인터페이스를 의미하므로, 도커에서 설정된 네트워크에서 외부 접근을 허용해야 합니다.
  2. Django 설정 확인:

    • settings.py 파일의 ALLOWED_HOSTS 설정에 문제가 있을 수 있습니다. 모든 호스트에서의 접근을 허용하려면 ALLOWED_HOSTS = ['*']로 설정해 보세요.
  3. Dockerfile 및 docker-compose.yml 설정:

    • docker-compose.yml 파일에서 포트 매핑이 적절하게 설정되어 있는지 확인합니다. 예를 들어 ports: ["8000:8000"]으로 설정되어 있는지 확인하세요.

이와 관련하여 도움이 될 만한 기존 질문과 답변을 추천드립니다:
- “0.0.0.0:8000에서 안되고 localhost:8000 에서 동작하는 이유는 뭘까요?”

위 답변에서는 호스트 설정 및 Docker 네트워크 관련 문제를 해결할 수 있는 방법들이 잘 설명되어 있습니다.

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