해결된 질문
작성
·
282
·
수정됨
0
안녕하세요. 데브위키입니다.
강의에 포함된 내용이 아니더라도 강의를 듣다가 궁금하신 점이 생기시면 부담없이 편하게 질문해주세요.
실습에 오류가 발생했거나 명령어가 예상한대로 실행되지 않으신 경우 사용하시는 OS 환경과 화면을 캡처해서 보내주시면 빠르고 자세하게 답변을 드릴 수 있습니다.
질문은 가능한 빠르게 답변 드리겠습니다. 😀
감사합니다.해당 컴포즈 파일로 up -d 실행 후 docker ps를 하면 leafy-leafy-backend-1, leafy-leafy-frontend-1, leafy-leafy-postgres-1로 컨테이너 명으로 생성되는데, leafy-front, leafy-back에서 환경변수로 전달된 도메인이 어떻게 작동하는건가요??
네트워크에서 이해한 바로는 컨테이너명으로 내부dns사용하는것으로 이해하였습니다!
추가적으로
docker insepct로 확인해보니 알리아스로 지정되서 동작하는걸로 유추되는데 이것이 맞을까요? 또한, 알리아스 지정은 compose파일에 있는 서비스명을 토대로 도커가 매핑해주는건가요?
답변 1
1
선우님 안녕하세요. 데브위키입니다.
네 맞습니다, Docker Compose에서 서비스 이름은 Docker 네트워크 내에서 자동으로 DNS 이름으로 사용됩니다. 그래서 실제 컨테이너 명과 다르더라도 서비스 이름을 사용하여 서로 통신할 수 있습니다. 확인해주신 대로 Aliases로 관리됩니다.
컨테이너명이 실제 서비스의 이름과 다른 이유는 Docker Compose에서 컨테이너의 수를 Scale-Out이 가능하기 때문입니다. 서비스 1개에 컨테이너가 여러 개 속할 수 있는 구조이기 때문입니다. 그래서 실제 생성되는 컨테이너명은 자동으로 생성하고 서비스명을 Aliases로 사용해 트래픽이 전달되는 구조입니다!
강의 들으시면서 더 궁금하신 부분이 있으면 편하게 질문주세요!