Docker Container 외부 노출하기 (HOST PORT 바인딩)
컨테이너는 가상머신과 마찬가지로 가상 IP주소를 할당 받는데,
기본적으로 도커는 컨테이너에 172.17.0.x의 IP를 순차적으로 할당합니다.
이는 컨테이너를 실행해서 ifconfig 명령어로 확인할 수 있습니다.
만일 아무런 설정을 하지 않았다면,
이 컨테이너는 외부에서 접근할 수 없으며
도커가 설치된 호스트에서만 접근할 수 있습니다.
따라서, 외부에 컨테이너를 노출하고 싶다면,
IP와 포트를 호스트의 IP와 포트에 바인딩해야합니다.
IP/PORT 연결
✔ type#1 PORT만 바인딩
-p 옵션으로 호스트 80포트와 컨테이너 80포트를 연결
$ docker run -it --name mywebserver -p 80:80 centos:centos7 $ docker run -it --name [컨테이너 이름] -p [호스트 포트]:[컨테이너포트] [이미지 이름] |
---|
원래 컨테이너에 접근하려면
컨테이너의 IP인 172.17.0.x:80로 접근해야하지만,
호스트와 컨테이너를 연결했으므로 호스트의 IP와 PORT로 172.17.0.x:80에 접근할 수 있습니다
✔ type#2 호스트의 특정 IP에 바인딩
호스트의 특정 IP를 사용하고 싶다면 192.168.0.100:7777와 같이 바인딩할 호스트 IP와 포트를 명시
$ docker run -it --name mywebserver -p 192.168.0.100:7777:80 centos:centos7 $ docker run -it --name [컨테이너 이름] -p [호스트 포트]:[컨테이너포트] [이미지 이름] |
---|
<참고자료>
[https://product.kyobobook.co.kr/detail/S000001766450]
'Engineering > 도커(Docker)' 카테고리의 다른 글
[Docker][NVIDIA] Failed to initialize NVML: Driver/library version mismatch 해결 (0) | 2023.04.19 |
---|---|
[Docker][Error] bash: ifconfig: command not found (0) | 2022.12.22 |
[Docker] Docker Container 실행 명령어 정리 (0) | 2022.12.21 |
[Docker][Error] CentOS 7 - File "/usr/bin/yum-config-manager", line 135 except yum.Errors.RepoError, e: (0) | 2022.12.21 |
[Docker] 리눅스 도커 엔진 설치 - CentOS 7 (0) | 2022.12.21 |
댓글