아래 숫자 25, 143, 587은 docker에 의해 자동으로 추가되어야 합니다. 그래도 액세스하려면 호스트의 해당 포트를 열어야 하나요?
学习ing2017-07-05 10:48:55
도커 네트워크 모드에 따라 다릅니다.
브릿지 모드인 경우 포트 매핑 규칙은 ip:port:targetPort,
예를 들어 0.0.0.0:80:8080 이 상황은 호스트 머신의 80 포트가 컨테이너의 8080 포트와 매핑 관계를 갖고 있으며 이때 IP에는 아무런 제한이 없음을 의미합니다. 호스트 시스템의 포트 80에 대한 요청은 모두 컨테이너의 포트 8080으로 전달되며 추가 iptables 설정은 필요하지 않습니다. (방화벽이 미리 포트 80을 열어주지 않아도 가능합니다. 포트 매핑이 iptables 규칙을 자체적으로 수정하기 때문입니다.)
IP 주소가 명시적으로 지정되면 iptables 규칙은 IP의 포트 80만 컨테이너의 포트 8080에 액세스할 수 있도록 제한합니다. Docker 포트 매핑은 실제로 iptables 규칙을 수정하여 달성한 네트워크 상호 운용성입니다.
net 모드인 경우 호스트에서 수신 대기하는 포트를 설정하는 것과 동일합니다. 이때 외부 액세스를 허용하려면 iptables를 수동으로 설정해야 합니다.