Chapter 4 - ์ปจํ ์ด๋๋ฅผ ์คํํด ๋ณด์
SECTION 01 ๋์ปค ์์ง ์์ํ๊ธฐ / ์ข ๋ฃํ๊ธฐ
- ์ปจํ ์ด๋๋ฅผ ์คํ ์ค์ด ์๋๋ผ๋ฉด, ๋์ปค ์์ง์ ์ปดํจํฐ์ ๋ฆฌ์์ค๋ฅผ ๊ฑฐ์ ์ฐจ์งํ์ง ์์ผ๋ฏ๋ก ๊ตณ์ด ์ข ๋ฃํ์ง ์์๋ ๋ฌธ์ ๊ฐ ์๋ค.
- ๋์ปค ์์ง์ ์๋์ผ๋ก ์คํ๋์ง๋ง, ์ปจํ ์ด๋๋ ์๋ ์คํ๋์ง ์๋๋ค.
- ์๊ธฐ์น ๋ชปํ ์ํฉ์ผ๋ก ์ธํด ํธ์คํธ๊ฐ ์ฌ๋ถํ ๋๋ ๊ฒฝ์ฐ ์ปจํ ์ด๋๋ฅผ ์๋ ์คํํ๊ธฐ ์ํด์๋ ์คํฌ๋ฆฝํธ๊ฐ ํ์ํ๋ค.
SECTION 02 ์ปจํ ์ด๋์ ๊ธฐ๋ณธ์ ์ธ ์ฌ์ฉ ๋ฐฉ๋ฒ
- ๋์ปค์ ๊ธฐ๋ณธ์ ์ธ ๋ช ๋ น์ด์ ํํ๋ ์๋์ ๊ฐ๋ค
$ docker [command] [option] [target] [parameter]
$ docker container run -d penguin --mode=1
์์ ์ปค๋งจ๋๋ ์๋ต ๊ฐ๋ฅํ๋ค!?
- ๋์ปค 1.13 ๋ถํฐ ์ปค๋งจ๋๊ฐ ์ฌํธ๋๋ฉด์ ์์ ์ปค๋งจ๋์ ํ์ ์ปค๋งจ๋์ ์กฐํฉ ํํ๋ก ์ผ์ํ ๋์๋ค.
# ์ปค๋งจ๋์ ์ด์ ํ๊ธฐ๋ฒ
$ docker run penguin
# ์ฌํธ๋ ์ปค๋งจ๋์ ํ๊ธฐ๋ฒ
$ docker container run penguin
- ํธํ์ฑ์ ์ํด ์์ง ์ด์ ํ๊ธฐ๋ฒ๋ ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ค.
- ๊ทธ๋ฌ๋, ์ธ์ ์ฌ์ฉ ๋ถ๊ฐํ๊ฒ ๋ ์ง ๋ชจ๋ฅด๋ ์ฌํธ๋ ํค์๋๋ฅผ ์ฌ์ฉํ๋ ์ต๊ด์ ๋ค์ด์.
Docker ๋ช ๋ น์ด
์ปจํ ์ด๋ ์กฐ์ ๊ด๋ จ ์ปค๋งจ๋ (docker container [์ปค๋งจ๋] [์ต์ ] )
Command ๋ด์ฉ ์ฃผ์ ์ต์
start | ์ ์ง๋ ์ปจํ ์ด๋๋ฅผ ์คํ | -i (์ํธ์์ฉ ๋ชจ๋) |
stop | ์คํ ์ค์ธ ์ปจํ ์ด๋๋ฅผ ์ ์ง | |
create | ๋์ปค ์ด๋ฏธ์ง๋ก๋ถํฐ ์ปจํ ์ด๋๋ฅผ ์์ฑ | --name (์ปจํ ์ด๋ ์ด๋ฆ ์ค์ ), -e (ํ๊ฒฝ ๋ณ์ ์ค์ ), -p (ํฌํธ ํฌ์๋ฉ), -v (๋ณผ๋ฅจ ๋ง์ดํธ) |
run | ๋์ปค ์ด๋ฏธ์ง๋ฅผ ๋ด๋ ค๋ฐ๊ณ ์ปจํ ์ด๋ ์์ฑ ๋ฐ ์คํ | --name, -e, -p, -v, -d (๋ฐฑ๊ทธ๋ผ์ด๋ ๋ชจ๋), -i (์ํธ์์ฉ ๋ชจ๋), -t (ํฐ๋ฏธ๋ ํ์ฑํ) |
rm | ์ ์ง๋ ์ปจํ ์ด๋๋ฅผ ์ญ์ | -f (๊ฐ์ ์ญ์ ), -v (์ฐ๊ฒฐ๋ ๋ณผ๋ฅจ๋ ์ญ์ ) |
ps | ์คํ ์ค์ธ ์ปจํ ์ด๋ ๋ชฉ๋ก ํ์ธ | -a (๋ชจ๋ ์ปจํ ์ด๋ ๋ชฉ๋ก ํฌํจ) |
exec | ์คํ ์ค์ธ ์ปจํ ์ด๋ ์์์ ๋ช ๋ น ์คํ | -i, -t |
logs | ์ปจํ ์ด๋์ ๋ก๊ทธ ์ถ๋ ฅ | -f (์ค์๊ฐ ๋ก๊ทธ) |
pull | ๋์ปค ํ๋ธ์์ ์ด๋ฏธ์ง๋ฅผ ๋ด๋ ค๋ฐ์ | |
build | Dockerfile๋ก๋ถํฐ ์ด๋ฏธ์ง๋ฅผ ๋น๋ | -t (์ด๋ฏธ์ง์ ํ๊ทธ ์ถ๊ฐ), -f (ํน์ Dockerfile ์ฌ์ฉ) |
์ด๋ฏธ์ง ์กฐ์ ๊ด๋ จ ์ปค๋งจ๋ (docker image [์ปค๋งจ๋] [์ต์ ])
Command ๋ด์ฉ ์ฃผ์ ์ต์
pull | Docker Hub์์ ์ด๋ฏธ์ง๋ฅผ ๋ด๋ ค๋ฐ์ | -q (๊ฐ๊ฒฐํ ์ถ๋ ฅ) |
push | ๋ก์ปฌ ์ด๋ฏธ์ง๋ฅผ Docker Hub๋ก ํธ์ | |
build | Dockerfile๋ก๋ถํฐ ์ด๋ฏธ์ง๋ฅผ ๋น๋ | -t (์ด๋ฏธ์ง์ ํ๊ทธ ์ถ๊ฐ), -f (ํน์ Dockerfile ์ฌ์ฉ) |
images | ๋ก์ปฌ ์ ์ฅ์์ ์ด๋ฏธ์ง ๋ชฉ๋ก ์กฐํ | -a (๋ชจ๋ ์ด๋ฏธ์ง ๋ชฉ๋ก ์กฐํ) |
rmi | ์ด๋ฏธ์ง๋ฅผ ์ญ์ | -f (๊ฐ์ ์ญ์ ) |
tag | ์ด๋ฏธ์ง์ ํ๊ทธ๋ฅผ ์ถ๊ฐ | TAG_NAME (ํ๊ทธ ์ด๋ฆ) |
history | ์ด๋ฏธ์ง์ ๋ณ๊ฒฝ ๊ธฐ๋ก์ ํ์ธ | |
save | ์ด๋ฏธ์ง๋ฅผ ํ์ผ๋ก ์ ์ฅ (์์ถ) | -o (ํ์ผ๋ก ์ถ๋ ฅ) |
load | ํ์ผ๋ก ์ ์ฅ๋ ์ด๋ฏธ์ง๋ฅผ ๋ก๋ | -i (์ ๋ ฅ ํ์ผ ์ง์ ) |
๋ณผ๋ฅจ ์กฐ์ ๊ด๋ จ ์ปค๋งจ๋ (docker volume [์ปค๋งจ๋] [์ต์ ])
Command ๋ด์ฉ ์ฃผ์ ์ต์
create | ์๋ก์ด ๋ณผ๋ฅจ์ ์์ฑ | --name (๋ณผ๋ฅจ ์ด๋ฆ ์ค์ ) |
ls | ์์ฑ๋ ๋ชจ๋ ๋ณผ๋ฅจ ๋ชฉ๋ก์ ์กฐํ | -q (๋ณผ๋ฅจ ID๋ง ์ถ๋ ฅ) |
rm | ์ง์ ๋ ๋ณผ๋ฅจ์ ์ญ์ | |
inspect | ๋ณผ๋ฅจ์ ์์ธ ์ ๋ณด ํ์ธ | |
prune | ์ฌ์ฉ๋์ง ์๋ ๋ชจ๋ ๋ณผ๋ฅจ์ ์ญ์ | -f (๊ฐ์ ์ญ์ ) |
mount | ์ปจํ ์ด๋์ ๋ณผ๋ฅจ์ ๋ง์ดํธํ์ฌ ์ฌ์ฉ | -v (๋ณผ๋ฅจ๊ณผ ๋๋ ํ ๋ฆฌ ์ฐ๊ฒฐ) |
SECTION 03 ์ปจํ ์ด๋์ ์์ฑ๊ณผ ์ญ์ , ์คํ, ์ ์ง
Container Life Cycle ๋?
- ์ปจํ ์ด๋์ ์์ฑ ๋ถํฐ ์ฌ์ฉ, ์ ์ง, ์ญ์ ๊น์ง์ ์ผ๋ จ์ ๊ณผ์ ์ Container Life Cycle ๋ผ๊ณ ํ๋ค.
์ปจํ ์ด๋ ์์ฑ : docker run (docker container run)
- ์ปจํ ์ด๋๋ฅผ ์คํํ๋ ์ปค๋งจ๋.
ํ ๋ฒ๋ง ์คํ๋๋ ์ปจํ ์ด๋์ ๋ฐ๋ชฌ ํํ๋ก ๋์ํ๋ ์ปจํ ์ด๋
- ์ปจํ ์ด๋๋ ์ ๊ฐ๊ฐ ๋ด์ฉ์ด ๋ค๋ฅด๋ค.
- docker run ์ปค๋งจ๋์์ ์ฌ์ฉํ๋ -d (๋ฐฑ๊ทธ๋ผ์ด๋ ์คํ) , -i (์ปจํ ์ด๋์ ํฐ๋ฏธ๋์ ์ฐ๊ฒฐ), -t (ํน์ ํค๋ฅผ ์ฌ์ฉ ๊ฐ๋ฅํ๋๋ก ํจ) ์ต์ ์ ์์ฃผ ์ฐ์ด์ง๋ง ์ฌ์ฉํ์ง ์์์ผ ๋ ๊ฒฝ์ฐ๋ ์กด์ฌ ํ๋ค.
- -i, -t ์ต์ ์ ๋ถ์ด์ง ์์ผ๋ฉด ์ปจํ ์ด๋ ์์ ํ์ผ ์์คํ ์ ์ ๊ทผ ๋ถ๊ฐ.
- ํ ๋ฒ๋ง ์คํ๋๋ ์ปจํ ์ด๋๋ ์คํํ์๋ง์ ์ข ๋ฃ๋๋ฏ๋ก ์ปจํ ์ด๋๊ฐ ํฐ๋ฏธ๋์ ์ ์ด๋ฅผ ์ฐจ์งํ๋๋ผ๋ ์ผ์์ ์ด๊ธฐ ๋๋ฌธ์ ๋ฌธ์ ๊ฐ ๋์ง ์์.
- ๊ทธ๋ฌ๋, ๋ฐ๋ชฌ์ฒ๋ผ ๊ณ์์ ์ผ๋ก ์คํ๋๋ ํ๋ก๊ทธ๋จ์ ์ ์ ๋ก ์ข ๋ฃ๋์ง ์์ผ๋ฏ๋ก ํ๋ฒ ํฐ๋ฏธ๋์ ์ ์ด๋ฅผ ๋๊ธฐ๋ฉด ์ด๋ฅผ ๋์ฐพ์ ์ค๊ธฐ ๋ฒ๊ฑฐ๋กญ๋ค.
๋ฐ๋ชฌ (deamon)
- ์ ๋์ค ๋๋ ๋ฆฌ๋ ์ค์์ ๋์ํ๋ ํ๋ก๊ทธ๋จ ์ค์์ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ํญ์ ๋์ํ๋ ํ๋ก๊ทธ๋จ์ ๊ด๋ก์ ์ผ๋ก ๋ฐ๋ชฌ์ด๋ผ๊ณ ํ๋ค.
- ๋ฉ์ผ ์ ๋ฌ ์คํจ ๋ฑ์ ์๋ ค์ฃผ๋ ๋ฉ์ผ๋ฌ ๋ฐ๋ชฌ์ด ๋ํ์ .
์ปจํ ์ด๋ ์ ์ง : docker stop (docker container stop)
- ์ปจํ ์ด๋๋ฅผ ์ ์งํ๋ ์ปค๋งจ๋.
์ปจํ ์ด๋ ์ญ์ : docker rm (docker container rm)
- ์ปจํ ์ด๋๋ฅผ ์ญ์ ํ๋ ์ปค๋งจ๋.
docker ps ์ปค๋งจ๋
- ์ปค๋งจ๋ ์ ์ ๋ช ์นญ์ ls์ด์ง๋ง ์๋ตํ์ด ps๋ค.
- ์ปค๋งจ๋ ์ฌํธ์ฑํ๋ฉด์ ๋ณ๊ฒฝ๋ ์ปค๋งจ๋๋ค.
- ์ปจํ ์ด๋์ ์ ๋ณด๋ฅผ ์ถ๋ ฅํ๋๋ฐ ์ฌ์ฉ
SECTION 04 ์ปจํ ์ด๋์ ํต์
Container Port ์ค์ ๋ฐฉ๋ฒ
$ -p [HOST_PORT]:[CONTAINER_PORT]
- ํธ์คํธ PORT ๋ฒํธ๋ฅผ ์ปจํ ์ด๋ PORT ๋ฒํธ์ ์ฐ๊ฒฐํ๋ค๋ ๋ช ๋ น์ด.
- ex) ํธ์คํธ์ 8080ํฌํธ๋ฅผ ์ปจํ ์ด๋์ 80ํฌํธ์ ์ฐ๊ฒฐ -p 8080:80
- ํธ์คํธ ํฌํธ ๋ฒํธ๋ฅผ ๋ชจ๋ ๊ฐ์ ๊ฒ์ผ๋ก ์ฌ์ฉํ๋ฉด ์ด๋ค ์ปจํ ์ด๋์ ๋ํ ์์ฒญ์ ๊ตฌ๋ถ์ด ์๋จ.
- ์ฌ๋ฌ ์ปจํ ์ด๋๋ก ์ฐ๊ฒฐ๋๋ ํฌํธ๋ฅผ ๊ฐ๊ฒ ์ค์ ํ๊ณ ์ถ๋ค๋ฉด ๋ฆฌ๋ฒ์ค ํ๋ฝ์๋ก ์๋ฒ ์ด๋ฆ์ ํตํด ๊ตฌ๋ณํ์.
๋ฆฌ๋ฒ์ค ํ๋ก์(Reverse Proxy) ๋?
**๋ฆฌ๋ฒ์ค ํ๋ก์(Reverse Proxy)**๋ ํด๋ผ์ด์ธํธ์ ์๋ฒ ์ฌ์ด์ ์์นํ์ฌ ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ๋ฐ์ ์ค์ ์๋ฒ๋ก ์ ๋ฌํ๊ณ , ์๋ฒ์ ์๋ต์ ๋ค์ ํด๋ผ์ด์ธํธ์๊ฒ ์ ๋ฌํ๋ ์ค๊ฐ ์๋ฒ ์ญํ
Nginx๋ Apache์ ๊ฐ์ ์น ์๋ฒ๊ฐ ๋ฆฌ๋ฒ์ค ํ๋ก์ ์ญํ ์ ์ํํ์ฌ ๋ฐฑ์๋ ์๋ฒ๋ค์ ์์ฒญ์ ์ค๊ณํ๊ณ , ๋ก๋ ๋ฐธ๋ฐ์ฑ์ด๋ ์บ์ฑ, SSL ์ฒ๋ฆฌ ๋ฑ์ ๋งก์ ์ ์๋ค.
SECTION 05 ์ปจํ ์ด๋ ์์ฑ์ ์ต์ํด์ง๊ธฐ
- Ngnix, MySQL, Apache ์ปจํ ์ด๋ ์ฌ๋ฌ๊ฐ ๋ฐ์ฐ๊ธฐ ์ค์ต ์งํ
SECTION 06 ์ด๋ฏธ์ง ์ญ์
- ์ปจํ ์ด๋๋ฅผ ์ญ์ ํด๋ ์ด๋ฏธ์ง๋ ๊ทธ๋๋ก ๋จ์์ ์์
- ์ด๋ฏธ์ง๊ฐ ๋์ด๋๋ฉด ์คํ ๋ฆฌ์ง ์ฉ๋์ ์๋ฐํ๊ฒ ๋๋ฏ๋ก ํ์์์ด์ง ์ด๋ฏธ
- ์ง๋ ๊ทธ๋๊ทธ๋ ์ญ์ ํ๋๋ก ํ์.
$ docker image ls
$ docker image rm [์ด๋ฏธ์ง_๋์]
$ docker iamge rm [์ด๋ฏธ์ง_์ด๋ฆ] [์ด๋ฏธ์ง_์ด๋ฆ] [์ด๋ฏธ์ง_์ด๋ฆ]
Chapter 4 - ์ปจํ ์ด๋๋ฅผ ์คํํด ๋ณด์
SECTION 01 ๋์ปค ์์ง ์์ํ๊ธฐ / ์ข ๋ฃํ๊ธฐ
- ์ปจํ ์ด๋๋ฅผ ์คํ ์ค์ด ์๋๋ผ๋ฉด, ๋์ปค ์์ง์ ์ปดํจํฐ์ ๋ฆฌ์์ค๋ฅผ ๊ฑฐ์ ์ฐจ์งํ์ง ์์ผ๋ฏ๋ก ๊ตณ์ด ์ข ๋ฃํ์ง ์์๋ ๋ฌธ์ ๊ฐ ์๋ค.
- ๋์ปค ์์ง์ ์๋์ผ๋ก ์คํ๋์ง๋ง, ์ปจํ ์ด๋๋ ์๋ ์คํ๋์ง ์๋๋ค.
- ์๊ธฐ์น ๋ชปํ ์ํฉ์ผ๋ก ์ธํด ํธ์คํธ๊ฐ ์ฌ๋ถํ ๋๋ ๊ฒฝ์ฐ ์ปจํ ์ด๋๋ฅผ ์๋ ์คํํ๊ธฐ ์ํด์๋ ์คํฌ๋ฆฝํธ๊ฐ ํ์ํ๋ค.
SECTION 02 ์ปจํ ์ด๋์ ๊ธฐ๋ณธ์ ์ธ ์ฌ์ฉ ๋ฐฉ๋ฒ
- ๋์ปค์ ๊ธฐ๋ณธ์ ์ธ ๋ช ๋ น์ด์ ํํ๋ ์๋์ ๊ฐ๋ค
$ docker [command] [option] [target] [parameter]
$ docker container run -d penguin --mode=1
์์ ์ปค๋งจ๋๋ ์๋ต ๊ฐ๋ฅํ๋ค!?
- ๋์ปค 1.13 ๋ถํฐ ์ปค๋งจ๋๊ฐ ์ฌํธ๋๋ฉด์ ์์ ์ปค๋งจ๋์ ํ์ ์ปค๋งจ๋์ ์กฐํฉ ํํ๋ก ์ผ์ํ ๋์๋ค.
# ์ปค๋งจ๋์ ์ด์ ํ๊ธฐ๋ฒ
$ docker run penguin
# ์ฌํธ๋ ์ปค๋งจ๋์ ํ๊ธฐ๋ฒ
$ docker container run penguin
- ํธํ์ฑ์ ์ํด ์์ง ์ด์ ํ๊ธฐ๋ฒ๋ ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ค.
- ๊ทธ๋ฌ๋, ์ธ์ ์ฌ์ฉ ๋ถ๊ฐํ๊ฒ ๋ ์ง ๋ชจ๋ฅด๋ ์ฌํธ๋ ํค์๋๋ฅผ ์ฌ์ฉํ๋ ์ต๊ด์ ๋ค์ด์.
Docker ๋ช ๋ น์ด
์ปจํ ์ด๋ ์กฐ์ ๊ด๋ จ ์ปค๋งจ๋ (docker container [์ปค๋งจ๋] [์ต์ ] )
Command ๋ด์ฉ ์ฃผ์ ์ต์
start | ์ ์ง๋ ์ปจํ ์ด๋๋ฅผ ์คํ | -i (์ํธ์์ฉ ๋ชจ๋) |
stop | ์คํ ์ค์ธ ์ปจํ ์ด๋๋ฅผ ์ ์ง | |
create | ๋์ปค ์ด๋ฏธ์ง๋ก๋ถํฐ ์ปจํ ์ด๋๋ฅผ ์์ฑ | --name (์ปจํ ์ด๋ ์ด๋ฆ ์ค์ ), -e (ํ๊ฒฝ ๋ณ์ ์ค์ ), -p (ํฌํธ ํฌ์๋ฉ), -v (๋ณผ๋ฅจ ๋ง์ดํธ) |
run | ๋์ปค ์ด๋ฏธ์ง๋ฅผ ๋ด๋ ค๋ฐ๊ณ ์ปจํ ์ด๋ ์์ฑ ๋ฐ ์คํ | --name, -e, -p, -v, -d (๋ฐฑ๊ทธ๋ผ์ด๋ ๋ชจ๋), -i (์ํธ์์ฉ ๋ชจ๋), -t (ํฐ๋ฏธ๋ ํ์ฑํ) |
rm | ์ ์ง๋ ์ปจํ ์ด๋๋ฅผ ์ญ์ | -f (๊ฐ์ ์ญ์ ), -v (์ฐ๊ฒฐ๋ ๋ณผ๋ฅจ๋ ์ญ์ ) |
ps | ์คํ ์ค์ธ ์ปจํ ์ด๋ ๋ชฉ๋ก ํ์ธ | -a (๋ชจ๋ ์ปจํ ์ด๋ ๋ชฉ๋ก ํฌํจ) |
exec | ์คํ ์ค์ธ ์ปจํ ์ด๋ ์์์ ๋ช ๋ น ์คํ | -i, -t |
logs | ์ปจํ ์ด๋์ ๋ก๊ทธ ์ถ๋ ฅ | -f (์ค์๊ฐ ๋ก๊ทธ) |
pull | ๋์ปค ํ๋ธ์์ ์ด๋ฏธ์ง๋ฅผ ๋ด๋ ค๋ฐ์ | |
build | Dockerfile๋ก๋ถํฐ ์ด๋ฏธ์ง๋ฅผ ๋น๋ | -t (์ด๋ฏธ์ง์ ํ๊ทธ ์ถ๊ฐ), -f (ํน์ Dockerfile ์ฌ์ฉ) |
์ด๋ฏธ์ง ์กฐ์ ๊ด๋ จ ์ปค๋งจ๋ (docker image [์ปค๋งจ๋] [์ต์ ])
Command ๋ด์ฉ ์ฃผ์ ์ต์
pull | Docker Hub์์ ์ด๋ฏธ์ง๋ฅผ ๋ด๋ ค๋ฐ์ | -q (๊ฐ๊ฒฐํ ์ถ๋ ฅ) |
push | ๋ก์ปฌ ์ด๋ฏธ์ง๋ฅผ Docker Hub๋ก ํธ์ | |
build | Dockerfile๋ก๋ถํฐ ์ด๋ฏธ์ง๋ฅผ ๋น๋ | -t (์ด๋ฏธ์ง์ ํ๊ทธ ์ถ๊ฐ), -f (ํน์ Dockerfile ์ฌ์ฉ) |
images | ๋ก์ปฌ ์ ์ฅ์์ ์ด๋ฏธ์ง ๋ชฉ๋ก ์กฐํ | -a (๋ชจ๋ ์ด๋ฏธ์ง ๋ชฉ๋ก ์กฐํ) |
rmi | ์ด๋ฏธ์ง๋ฅผ ์ญ์ | -f (๊ฐ์ ์ญ์ ) |
tag | ์ด๋ฏธ์ง์ ํ๊ทธ๋ฅผ ์ถ๊ฐ | TAG_NAME (ํ๊ทธ ์ด๋ฆ) |
history | ์ด๋ฏธ์ง์ ๋ณ๊ฒฝ ๊ธฐ๋ก์ ํ์ธ | |
save | ์ด๋ฏธ์ง๋ฅผ ํ์ผ๋ก ์ ์ฅ (์์ถ) | -o (ํ์ผ๋ก ์ถ๋ ฅ) |
load | ํ์ผ๋ก ์ ์ฅ๋ ์ด๋ฏธ์ง๋ฅผ ๋ก๋ | -i (์ ๋ ฅ ํ์ผ ์ง์ ) |
๋ณผ๋ฅจ ์กฐ์ ๊ด๋ จ ์ปค๋งจ๋ (docker volume [์ปค๋งจ๋] [์ต์ ])
Command ๋ด์ฉ ์ฃผ์ ์ต์
create | ์๋ก์ด ๋ณผ๋ฅจ์ ์์ฑ | --name (๋ณผ๋ฅจ ์ด๋ฆ ์ค์ ) |
ls | ์์ฑ๋ ๋ชจ๋ ๋ณผ๋ฅจ ๋ชฉ๋ก์ ์กฐํ | -q (๋ณผ๋ฅจ ID๋ง ์ถ๋ ฅ) |
rm | ์ง์ ๋ ๋ณผ๋ฅจ์ ์ญ์ | |
inspect | ๋ณผ๋ฅจ์ ์์ธ ์ ๋ณด ํ์ธ | |
prune | ์ฌ์ฉ๋์ง ์๋ ๋ชจ๋ ๋ณผ๋ฅจ์ ์ญ์ | -f (๊ฐ์ ์ญ์ ) |
mount | ์ปจํ ์ด๋์ ๋ณผ๋ฅจ์ ๋ง์ดํธํ์ฌ ์ฌ์ฉ | -v (๋ณผ๋ฅจ๊ณผ ๋๋ ํ ๋ฆฌ ์ฐ๊ฒฐ) |
SECTION 03 ์ปจํ ์ด๋์ ์์ฑ๊ณผ ์ญ์ , ์คํ, ์ ์ง
Container Life Cycle ๋?
- ์ปจํ ์ด๋์ ์์ฑ ๋ถํฐ ์ฌ์ฉ, ์ ์ง, ์ญ์ ๊น์ง์ ์ผ๋ จ์ ๊ณผ์ ์ Container Life Cycle ๋ผ๊ณ ํ๋ค.
์ปจํ ์ด๋ ์์ฑ : docker run (docker container run)
- ์ปจํ ์ด๋๋ฅผ ์คํํ๋ ์ปค๋งจ๋.
ํ ๋ฒ๋ง ์คํ๋๋ ์ปจํ ์ด๋์ ๋ฐ๋ชฌ ํํ๋ก ๋์ํ๋ ์ปจํ ์ด๋
- ์ปจํ ์ด๋๋ ์ ๊ฐ๊ฐ ๋ด์ฉ์ด ๋ค๋ฅด๋ค.
- docker run ์ปค๋งจ๋์์ ์ฌ์ฉํ๋ -d (๋ฐฑ๊ทธ๋ผ์ด๋ ์คํ) , -i (์ปจํ ์ด๋์ ํฐ๋ฏธ๋์ ์ฐ๊ฒฐ), -t (ํน์ ํค๋ฅผ ์ฌ์ฉ ๊ฐ๋ฅํ๋๋ก ํจ) ์ต์ ์ ์์ฃผ ์ฐ์ด์ง๋ง ์ฌ์ฉํ์ง ์์์ผ ๋ ๊ฒฝ์ฐ๋ ์กด์ฌ ํ๋ค.
- -i, -t ์ต์ ์ ๋ถ์ด์ง ์์ผ๋ฉด ์ปจํ ์ด๋ ์์ ํ์ผ ์์คํ ์ ์ ๊ทผ ๋ถ๊ฐ.
- ํ ๋ฒ๋ง ์คํ๋๋ ์ปจํ ์ด๋๋ ์คํํ์๋ง์ ์ข ๋ฃ๋๋ฏ๋ก ์ปจํ ์ด๋๊ฐ ํฐ๋ฏธ๋์ ์ ์ด๋ฅผ ์ฐจ์งํ๋๋ผ๋ ์ผ์์ ์ด๊ธฐ ๋๋ฌธ์ ๋ฌธ์ ๊ฐ ๋์ง ์์.
- ๊ทธ๋ฌ๋, ๋ฐ๋ชฌ์ฒ๋ผ ๊ณ์์ ์ผ๋ก ์คํ๋๋ ํ๋ก๊ทธ๋จ์ ์ ์ ๋ก ์ข ๋ฃ๋์ง ์์ผ๋ฏ๋ก ํ๋ฒ ํฐ๋ฏธ๋์ ์ ์ด๋ฅผ ๋๊ธฐ๋ฉด ์ด๋ฅผ ๋์ฐพ์ ์ค๊ธฐ ๋ฒ๊ฑฐ๋กญ๋ค.
๋ฐ๋ชฌ (deamon)
- ์ ๋์ค ๋๋ ๋ฆฌ๋ ์ค์์ ๋์ํ๋ ํ๋ก๊ทธ๋จ ์ค์์ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ํญ์ ๋์ํ๋ ํ๋ก๊ทธ๋จ์ ๊ด๋ก์ ์ผ๋ก ๋ฐ๋ชฌ์ด๋ผ๊ณ ํ๋ค.
- ๋ฉ์ผ ์ ๋ฌ ์คํจ ๋ฑ์ ์๋ ค์ฃผ๋ ๋ฉ์ผ๋ฌ ๋ฐ๋ชฌ์ด ๋ํ์ .
์ปจํ ์ด๋ ์ ์ง : docker stop (docker container stop)
- ์ปจํ ์ด๋๋ฅผ ์ ์งํ๋ ์ปค๋งจ๋.
์ปจํ ์ด๋ ์ญ์ : docker rm (docker container rm)
- ์ปจํ ์ด๋๋ฅผ ์ญ์ ํ๋ ์ปค๋งจ๋.
docker ps ์ปค๋งจ๋
- ์ปค๋งจ๋ ์ ์ ๋ช ์นญ์ ls์ด์ง๋ง ์๋ตํ์ด ps๋ค.
- ์ปค๋งจ๋ ์ฌํธ์ฑํ๋ฉด์ ๋ณ๊ฒฝ๋ ์ปค๋งจ๋๋ค.
- ์ปจํ ์ด๋์ ์ ๋ณด๋ฅผ ์ถ๋ ฅํ๋๋ฐ ์ฌ์ฉ
SECTION 04 ์ปจํ ์ด๋์ ํต์
Container Port ์ค์ ๋ฐฉ๋ฒ
$ -p [HOST_PORT]:[CONTAINER_PORT]
- ํธ์คํธ PORT ๋ฒํธ๋ฅผ ์ปจํ ์ด๋ PORT ๋ฒํธ์ ์ฐ๊ฒฐํ๋ค๋ ๋ช ๋ น์ด.
- ex) ํธ์คํธ์ 8080ํฌํธ๋ฅผ ์ปจํ ์ด๋์ 80ํฌํธ์ ์ฐ๊ฒฐ -p 8080:80
- ํธ์คํธ ํฌํธ ๋ฒํธ๋ฅผ ๋ชจ๋ ๊ฐ์ ๊ฒ์ผ๋ก ์ฌ์ฉํ๋ฉด ์ด๋ค ์ปจํ ์ด๋์ ๋ํ ์์ฒญ์ ๊ตฌ๋ถ์ด ์๋จ.
- ์ฌ๋ฌ ์ปจํ ์ด๋๋ก ์ฐ๊ฒฐ๋๋ ํฌํธ๋ฅผ ๊ฐ๊ฒ ์ค์ ํ๊ณ ์ถ๋ค๋ฉด ๋ฆฌ๋ฒ์ค ํ๋ฝ์๋ก ์๋ฒ ์ด๋ฆ์ ํตํด ๊ตฌ๋ณํ์.
๋ฆฌ๋ฒ์ค ํ๋ก์(Reverse Proxy) ๋?
๋ฆฌ๋ฒ์ค ํ๋ก์(Reverse Proxy)๋ ํด๋ผ์ด์ธํธ์ ์๋ฒ ์ฌ์ด์ ์์นํ์ฌ ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ๋ฐ์ ์ค์ ์๋ฒ๋ก ์ ๋ฌํ๊ณ , ์๋ฒ์ ์๋ต์ ๋ค์ ํด๋ผ์ด์ธํธ์๊ฒ ์ ๋ฌํ๋ ์ค๊ฐ ์๋ฒ ์ญํNginx๋ Apache์ ๊ฐ์ ์น ์๋ฒ๊ฐ ๋ฆฌ๋ฒ์ค ํ๋ก์ ์ญํ ์ ์ํํ์ฌ ๋ฐฑ์๋ ์๋ฒ๋ค์ ์์ฒญ์ ์ค๊ณํ๊ณ , ๋ก๋ ๋ฐธ๋ฐ์ฑ์ด๋ ์บ์ฑ, SSL ์ฒ๋ฆฌ ๋ฑ์ ๋งก์ ์ ์๋ค.
SECTION 05 ์ปจํ ์ด๋ ์์ฑ์ ์ต์ํด์ง๊ธฐ
- Ngnix, MySQL, Apache ์ปจํ ์ด๋ ์ฌ๋ฌ๊ฐ ๋ฐ์ฐ๊ธฐ ์ค์ต ์งํ
SECTION 06 ์ด๋ฏธ์ง ์ญ์
- ์ปจํ ์ด๋๋ฅผ ์ญ์ ํด๋ ์ด๋ฏธ์ง๋ ๊ทธ๋๋ก ๋จ์์ ์์
- ์ด๋ฏธ์ง๊ฐ ๋์ด๋๋ฉด ์คํ ๋ฆฌ์ง ์ฉ๋์ ์๋ฐํ๊ฒ ๋๋ฏ๋ก ํ์์์ด์ง ์ด๋ฏธ์ง๋ ๊ทธ๋๊ทธ๋ ์ญ์ ํ๋๋ก ํ์.
$ docker image ls
$ docker image rm [์ด๋ฏธ์ง_๋์]
$ docker iamge rm [์ด๋ฏธ์ง_์ด๋ฆ] [์ด๋ฏธ์ง_์ด๋ฆ] [์ด๋ฏธ์ง_์ด๋ฆ]