[Docker] 도커의 포트매핑은 꼭 해야하는가

2022. 5. 4. 10:40Web

이상한 고민이지만, MSA구조로 작업하면서 서비스 서버는 포트매핑 없이 실행하다보니 도커의 포트 매핑에 대해 의문점이 생겼다.

정확히는 포트매핑이 없으면 어떻게 연결되는건지가 궁금했다.

 

포트매핑 사용이유

컨테이너 내에서 실행되는 서비스에 액세스하는 데 사용된다.

컨테이너 내부의 해당 열린 포트에 대한 액세스를 제공하기 위해 호스트 포트를 연다.

-> 호스트 포트에 대한 요청을 컨테이너로 리다이렉션 할 수 있다.

 

포트매핑을 하지 않는 경우

컨테이너의 서비스를 비공개로 유지하거나

동일한 Docker 네트워크의 형제 컨테이너에서만 볼 수 있도록 호스트 포트를 여는 것을 피한다.

 

흠, 나는 현재 도커 네트워크를 사용해서 포트가 없어도 서비스 접근이 가능한거였다.

원래 생각하던건, 컨테이너 안에 있는 서비스 포트가 몇번인지 알고 찾아가나 하는거였는데, 이게 외부접근을 위한 행위라면 없어도 접근 가능한게 맞다. 아직 명쾌하게 해결한건 아니지만, 여기서 더 깊이 들어갔다간 끝이 없을 것 같아서 다음으로 미뤄야겠다. 할 게 정말 많다.

 

참고

https://www.baeldung.com/linux/assign-port-docker-container

 

Assigning a Port Mapping to a Running Docker Container | Baeldung on Linux

When running a Docker container we can set a port mapping to allow communication through the host. This usually is fixed for the lifetime of the container. We explore some strategies for changing the port mapping for an existing container.

www.baeldung.com