• 카테고리

    질문 & 답변
  • 세부 분야

    데브옵스 · 인프라

  • 해결 여부

    해결됨

docker-compose 내부 dns 관련 질문드립니다.

24.05.02 17:24 작성 24.05.02 17:30 수정 조회수 61

0

안녕하세요. 데브위키입니다.

강의에 포함된 내용이 아니더라도 강의를 듣다가 궁금하신 점이 생기시면 부담없이 편하게 질문해주세요.

 

실습에 오류가 발생했거나 명령어가 예상한대로 실행되지 않으신 경우 사용하시는 OS 환경과 화면을 캡처해서 보내주시면 빠르고 자세하게 답변을 드릴 수 있습니다.

 

질문은 가능한 빠르게 답변 드리겠습니다. 😀

감사합니다.스크린샷 2024-05-02 오후 5.21.33.png해당 컴포즈 파일로 up -d 실행 후 docker ps를 하면 leafy-leafy-backend-1, leafy-leafy-frontend-1, leafy-leafy-postgres-1로 컨테이너 명으로 생성되는데, leafy-front, leafy-back에서 환경변수로 전달된 도메인이 어떻게 작동하는건가요??

네트워크에서 이해한 바로는 컨테이너명으로 내부dns사용하는것으로 이해하였습니다!

 

추가적으로

 

스크린샷 2024-05-02 오후 5.29.06.pngdocker insepct로 확인해보니 알리아스로 지정되서 동작하는걸로 유추되는데 이것이 맞을까요? 또한, 알리아스 지정은 compose파일에 있는 서비스명을 토대로 도커가 매핑해주는건가요?

답변 1

답변을 작성해보세요.

1

선우님 안녕하세요. 데브위키입니다.

 

네 맞습니다, Docker Compose에서 서비스 이름은 Docker 네트워크 내에서 자동으로 DNS 이름으로 사용됩니다. 그래서 실제 컨테이너 명과 다르더라도 서비스 이름을 사용하여 서로 통신할 수 있습니다. 확인해주신 대로 Aliases로 관리됩니다.

컨테이너명이 실제 서비스의 이름과 다른 이유는 Docker Compose에서 컨테이너의 수를 Scale-Out이 가능하기 때문입니다. 서비스 1개에 컨테이너가 여러 개 속할 수 있는 구조이기 때문입니다. 그래서 실제 생성되는 컨테이너명은 자동으로 생성하고 서비스명을 Aliases로 사용해 트래픽이 전달되는 구조입니다!

 

강의 들으시면서 더 궁금하신 부분이 있으면 편하게 질문주세요!