포트포워딩하기
docker run -d #detach의 약자로 백그라운드에서 작동하도록 하는 옵션 (daemon으로 외워도 될듯하다)
docker run -p #port를 지정해주는 옵션으로 "HOST:CONTAINER" 형식으로 나열
docker run -d -p 8080:80 httpd #호스트의 8080으로 접근하면 컨테이너 80포트로 전달해준다
현재 나의 구성도
[인터넷] - KT공유기 - DMZ - IPTIME공유기 - H2서버
Apache 컨테이너 실행하기
docker run -d -p 9096:80 httpd
이제 호스트OS로 9096으로 요청하면 아파치 컨테이너의 80포트로 연결해주게 된다.
원격지에서 실험해보니 정말 잘동작한다.
원격지:9096 ▶ 인터넷 ▶ KT공유기 ▶ DMZ ▶ IPTIME공유기 ▶ 9096포트를 H2:9096으로포트포워딩
▶ H2서버9096 ▶ httpd컨테이너
이렇게 되어있는 건데 iptime공유기에서 외부의 9096을 내부의 9096으로 설정해놔서 가능하다.
KT공유기와 iptime공유기는 DMZ설정이 되어있어서 모든 요청을 IPTIME공유기로 통과하도록 설정해놨다.
Apache 컨테이너 실행하기
docker run -d -p 9096:80 httpd
이제 호스트OS로 9096으로 요청하면 아파치 컨테이너의 80포트로 연결해주게 된다.
Nginx 컨테이너 실행하기
docker run -d -p 9097:80 nginx
apache나 nginx나 같은 80포트를 사용하지만 HostOS에서 포트포워딩을 해주니까 상관없다는 점이 정말 좋은거 같다.
9096으로 접근하면 httpd 80
9097로 접근하면 nginx 80
※ docker run을 할 때 로컬에 저장되지 않은 이미지를 지정하면 도커허브에서 자동으로 pull해서 run을 해준다.
즉, docker run nginx를 하였을 때, 로컬에 nginx이미지가 있으면 있는것을 사용하고 없으면 자동으로 도커허브에서 다운로드받아서 run해준다.
'코딩이야기 > Docker' 카테고리의 다른 글
도커 입문 9강 - docker dit옵션과 attach (1) | 2024.06.10 |
---|---|
도커 입문 8강 - 모든 이미지 한번에 삭제하는 명령어 (0) | 2024.06.10 |
도커 입문 6강. 컨테이너 실행하기 (0) | 2024.06.05 |
도버 입문 5강. 도커 이미지 삭제하기 (0) | 2024.06.02 |
도커 입문 4. 도커의 작동 원리 (0) | 2024.05.31 |