Port-Forwarding 확인하기

작성자 김아름 수정일 2023-01-19 08:43

#docker, #container, #port, #포트, #포트포워딩

들어가며

  • 도커 컨테이너로 서비스를 띄울 수 있습니다.

  • 외부에서 해당 컨테이너로 접근을 가능하도록 하려면, 컨테이너의 포트를 외부로 노출 시켜야 합니다.

  • 이때, 컨테이너의 포트를 외부로 노출시켜 외부 연결을 허용하도록 하는 것이 port forwarding 입니다.



Container Port 노출 시키기

컨테이너는 외부 통신을 docker0 를 통해 진행합니다.

컨테이너를 실행시킬 때 포트포워딩을 하면, iptables rule을 통해 포트가 노출됩니다.


docker run --name web -d -p 80:80 nginx:1.14
iptables -t nat -L -n -v
Chain DOCKER (2 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 RETURN     all  --  docker0 *       0.0.0.0/0            0.0.0.0/0           
    0     0 DNAT       tcp  --  !docker0 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80 to:172.17.0.2:80

위 결과의 마지막 줄을 확인해보면, 실행한 컨테이너에 대해 룰이 생성된 것을 확인할 수 있습니다.



마무리

  • 외부로부터 컨테이너로 통신하기 위해 포트포워딩 옵션으로 컨테이너를 실행해 보았습니다.

  • 이때 iptables rule에 추가된 것을 확인해 보았습니다.

아티클이 유용했나요?

훌륭합니다!

피드백을 제공해 주셔서 감사합니다.

도움이 되지 못해 죄송합니다!

피드백을 제공해 주셔서 감사합니다.

아티클을 개선할 수 있는 방법을 알려주세요!

최소 하나의 이유를 선택하세요
CAPTCHA 확인이 필요합니다.

피드백 전송

소중한 의견을 수렴하여 아티클을 개선하도록 노력하겠습니다.

02-558-8300