도커 엔진 - 도커 컨테이너 다루기(2)

728x90
반응형

출처 : 시작하세요! 도커 / 쿠버네티스

 

 

컨테이너를 외부에 노출

  • 컨테이너는 가상 머신과 마찬가지로 가상 IP 주소를 할당받는다.
  • 도커는 컨테이너에 172.17.0.x의 IP를 순차적으로 할당한다.
  • 컨테이너를 새롭게 생성한 다음 ifconfig 명령으로 컨테이너의 네트워크 인터페이스를 확인할 수 있다.

docker run -it --name network_test ubuntu:14.04
ifconfig
  • 도커의 NAT IP인 172.17.0.2를 할당받은 eth0 인터페이스와 로컬 호스트인 lo 인터페이스가 있다.
  • 이 컨테이너는 호스트 컴퓨터만 접근할 수 있고, 외부에서는 접근할 수 없다.
  • 외부에 노출시키기 위해서는 eth0의 IP와 포트를 호스트의 IP와 포트에 바인딩해야 한다.

docker run -it --name mywebserver -p 80:80 ubuntu:14.04

apt-get update
apt-get install apache2 -y
service apache2 start
  • 컨테이너를 새로 생성한다. 이때 -p 옵션을 추가해 컨테이너의 포트를 호스트의 포트와 바인딩해 연결한다.
  • 컨테이너 내부로 들어와 아파치 웹 서버를 설치한다.

  • 웹 브라우저를 열고 도커 엔진 호스트의 IP로 접속하면 아파치 웹 서버로 접속된다.
  • 실제로 아파치 서버가 설치된 것은 컨테이너 내부이므로 호스트에는 어떤 영향도 주지 않는다.
  • -p 옵션을 사용해 호스트와 컨테이너를 연결했기 때문에, 호스트의 IP와 포트를 통해 ubuntu 컨테이너의 아파치 웹 서버로 접근할 수 있게 되었다.
  • 호스트 IP 접근 -> 호스트 IP의 80번 포트 접근 -> 호스트 80번 포트에서 컨테이너의 80번 포트로 포워딩 -> 웹 서버 접근

 

 

 

 

728x90
반응형