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

선우님의 프로필 이미지
선우

작성한 질문수

개발자를 위한 쉬운 도커

Leafy 도커 컴포즈(Docker Compose)

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

해결된 질문

작성

·

293

·

수정됨

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로 사용해 트래픽이 전달되는 구조입니다!

 

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

 

 

선우님의 프로필 이미지
선우

작성한 질문수

질문하기