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

ij16_21님의 프로필 이미지

작성한 질문수

초보를 위한 도커 안내서

[최종실습2] 방명록 배포하기

frontend, backend environment port 속성 관련 질문

작성

·

248

0

안녕하세요

frontend, backend environment에서 port 속성이 8000으로 같은 이유는 front, back가 같은 서버 포트를 사용하고 있는 것으로 이해하면 될까요?

이해한게 맞다면 localhost:62000 접근 시 front, back 모두 실행되고 있는 컨테이너 8000 포트로 접근하게 되는게 맞을까요?

답변 1

1

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

frontend와 backend가 동일한 포트 번호(여기서는 8000)를 사용한다는 것은 각각의 서버가 같은 내부 포트를 listen하고 있다는 의미입니다. 하지만 이것은 각 환경(컨테이너나 서비스)이 개별적으로 설정된 포트를 사용한다는 것이지, 외부에서 접근할 때 동일한 포트로 두 서비스에 접근한다는 의미는 아닙니다.

실제로 localhost:62000을 통해 접근하게 되면, 당신이 설정한 역방향 프록시나 포트 포워딩 규칙에 따라 트래픽이 backend 또는 frontend 중 어느 서비스로 전달될지 결정됩니다. 각 서비스는 다른 경로 또는 서브도메인을 통해 접근될 수 있으며, 포트 번호는 컨테이너 내부에서 해당 서비스가 listen하는 내부 포트와 연결될 것입니다.

따라서, localhost:62000으로 접근 시 front와 back 컨테이너의 8000 포트에 모두 접근되는 것이 아니라, 해당 포트로 들어오는 트래픽을 어느 컨테이너로 전송할지는 별도의 라우팅 규칙에 의해 결정되어야 합니다.

예를 들어, docker-compose.yml에 포트 매핑 설정을 통해 외부에서 62000번 포트로 접근하면 내부에서는 frontend의 8000 포트로 연결되도록 하고, 다른 포트(예: 62001)로 접근하면 backend의 8000 포트로 연결되는 설정을 할 수 있습니다.

ij16_21님의 프로필 이미지

작성한 질문수

질문하기