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
반응형
'Study > 도커와 쿠버네티스 (Docker & Kubernetes)' 카테고리의 다른 글
마스터 노드와 워커 노드 (0) | 2024.02.23 |
---|---|
쿠버네티스의 정의 (0) | 2024.02.23 |
도커 엔진 - 도커 이미지와 컨테이너 (0) | 2024.02.19 |
도커 컴포즈 실행 (0) | 2024.02.17 |
도커 컴포즈 파일 작성 (0) | 2024.02.17 |