일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- mysql error
- react tailwindcss
- mysql 재설치 명령어
- react 기초
- 리액트 tailwindcss
- react tailwind css
- mysql purge
- 안드로이드
- javascript
- Docker ubuntu
- react
- react typescript
- mysql
- Android
- 도커
- 리액트
- next.js tailwind css
- 리눅스
- mysql 삭제
- mysql 재설치
- Python
- PHP
- next.js tailwindcss
- mysql broken install
- 리액트 tailwind css
- mysql uninstall
- next.js css framework
- Docker
- mysql fix install
- 리액트 문법
- Today
- Total
Developer_hong
[Docker] run -p,run -P, run --expose 차이 본문
서버에서 ubuntu 도커 이미지를 다운받아
ubuntu_test라는 이름의 컨테이너를 생성하는 것으로 예를 들어 설명하겠습니다
[docker '-p' option]
-> docker run -it -p 3306:9999 --name ubuntu_test ubuntu
도커 컨테이너를 띄우고 있는 운영체제 서버 3306 포트로 들어온 요청을 도커 컨테이너의 9999 포트로 매핑해준다는 의미
즉, 123.45.67.89라는 서버에서 ubuntu_test 도커를 -p 3306:9999 옵션을 통해 만들었다면
123.45.67.89 서버의 3306 포트로 보내진 요청을 도커 컨테이너 ubuntu_test의 9999 포트로 보내준다
[docker '--expose' option]
-> docker run -it -p --expose=9999 -P --name ubuntu_test ubuntu
도커 컨테이너를 띄우고 있는 운영체제와 ubuntu_test 컨테이너의 9999포트를 외부에 노출할 예정이라고 명시
* EXPOSE는 호스트와 연결만 할 뿐 외부에 노출은 되지 않습니다. 포트를 외부에 노출하려면 docker run 명령의 -p, -P 옵션을 사용해야 합니다.
'-p' , '-P' 차이
-p, --publish list Publish a container's port(s) to the host
-P, --publish-all Publish all exposed ports to random ports
[예를 들어 123.45.67.89 서버에서 도커 컨테이너 생성 테스트]
1. --expose
$ docker run -it --expose=9999 --name ubuntu_test ubuntu
-> 123.45.67.89 서버에 있는 ubuntu_test 컨테이너의 9999 포트를 노출시킬 것이라고 명시만 한다
CONTAINER ID | IMAGE | COMMAND | CREATED | STATUS | PORTS | NAMES
67304e63a5| ubuntu| "/bin/bash" | 6 min ago | Up 6min | 9999/tcp | ubuntu_test
2. --expose -p (소문자)
$ docker run -it --expose=9999 -p 3306:9999 --name ubuntu_test ubuntu
-> 123.45.67.89 서버의 3306포트와 ubuntu_test 컨테이너의 9999 포트를 매핑한다
CONTAINER ID | IMAGE | COMMAND | CREATED | STATUS | PORTS | NAMES
67304e63a5| ubuntu| "/bin/bash" | 6 min ago | Up 6min |0.0.0.0:3306->9999/tcp, :::3306->9999/tcp | ubuntu_test
3. --expose -P (대문자)
$ docker run -it --expose=9999 -P --name ubuntu_test ubuntu
-> 123.45.67.89 서버의 랜덤 4918포트와 ubuntu_test 컨테이너의 9999 포트를 매핑한다
CONTAINER ID | IMAGE | COMMAND | CREATED | STATUS | PORTS | NAMES
67304e63a5| ubuntu| "/bin/bash" | 6 min ago | Up 6min |0.0.0.0:4918->9999/tcp, :::4918->9999/tcp | ubuntu_test
'프로그래밍 > Docker' 카테고리의 다른 글
[Docker] 2. 도커 컨테이너 이미지 저장 (0) | 2021.05.11 |
---|---|
[Docker] 1. Linux ubuntu install + Mysql (0) | 2021.05.11 |
Docker 기본 명령어 (0) | 2021.05.06 |