기본적으로 도커는 컨테이너에 172.17.0.x 의 IP를 순차적 할당을 받는다.
외부로 컨테이너의 어플리케이션을 노출하기 위해서는 컨테이너IP 와 호스트IP를 바인딩 해야 한다.
# docker run -i -t --name network ubuntu:14.04 Unable to find image 'ubuntu:14.04' locally ... # docker run -i -t --name webserver -p 80:80 ubuntu:14.04
-p 는 컨테이너의 포트를 호스트의 포트와 바인딩한다.
-p [호스트포트] : [컨테이너포트]
# docker run -i -t -p 3306:3306 -p 192.168.56.101:7777:80 ubuntu:14.04
호스트 7777 포트를 컨테이너의 80포트와 연결,
호스트의 특정 IP 를 사용하기 위하여, 192.168.56.101:7777:80 으로 바인딩할 IP로 명시,
여러개의 포트를 외부에 노출하기 위하여 -p 옵션을 여러개 사용한다.
실행이 완료되면 [호스트IP] : 80 으로 접근이 가능하다.
호스트의 IP 와 포트를 컨테이너의 IP 와 포트로 연결한다는 개념은
172 대역을 가진 컨테이너의 NAT IP 와 80번 포트로 서비스한다고 여겨짐.
즉, 172.17.0.x :80으로 접근할 수 있다.