๋์ปค๋ ์ฌ์ค ์๋นํ ๋์ ๊ฐ๋ ์ด๋ค.
์ปจํ ์ด๋๋ฅผ ๊ด๋ฆฌํด์ฃผ๋ ์ปจํ ์ด๋ ๋ฐํ์์ด๊ธฐ๋ ํ๊ณ , ์ด๋ฌํ ์ปจํ ์ด๋ ์ด๋ฏธ์ง๋ฅผ ์์ฑํด์ฃผ๋ ๊ธฐ์ ์ด๊ธฐ๋ ํ๋ค.
์ฆ, ์ปจํ ์ด๋ ๊ธฐ๋ฐ์ ๊ฐ์ํ ๊ธฐ์ ์ด๋ผ๊ณ ํ ์ ์๋ค.
๋์ปค์์ ์ฌ์ฉํ๋ ์ด๋ฌํ ์ปจํ ์ด๋๋ ๋ฌด์์ผ๊น?
์ปจํ ์ด๋๋ ์ ํ๋ฆฌ์ผ์ด์ (SW)์ ๋ด์ ์ ์๋ ๋ ๋ฆฝ์ ์ธ ์คํ ํ๊ฒฝ์ด๋ค.
์ปจํ ์ด๋๋ฅผ ์ฌ์ฉํ๋ฉด ๋ค์ํ ํ๋ก๊ทธ๋จ, ์คํํ๊ฒฝ์ ์ปจํ ์ด๋ ํํ๋ก ๋ง๋ค์ด OS์ ์ข ์ ๋ฐ์ง ์๊ณ , ๋์ผํ ์ธํฐํ์ด์ค ํ๊ฒฝ์์ ์ฌ์ฉํ ์ ์๋ค.
๋์ปค๋ ์ด๋ฌํ ์ปจํ
์ด๋๋ฅผ ์์ฑํด ์ฃผ๋ ๋๊ตฌ์ด์ ๊ด๋ฆฌํด ์ฃผ๋ ๋๊ตฌ์ด๋ค.
์ด ๊ณ ๋๊ฐ ๋์ปค ์์ง(์ปจํ
์ด๋ ๋ฐํ์)์ด๊ณ ์์ ๋ค๋ชจ๋ ๊ฒ๋ค์ด ๋์ํ๊ณ ์๋ ์ค์ ์ ํ๋ฆฌ์ผ์ด์
์ด๋ค.
๋์ปค ์ด๋ฏธ์ง๋ ์๋น์ค ์ด์์ ํ์ํ ์๋ฒ ํ๋ก๊ทธ๋จ, ์์ค ์ฝ๋, ์ปดํ์ผ๋ ์คํ ํ์ผ์ ๋ฌถ์ ํํ์ด๋ค.
์ด๋ฌํ ๋์ปค ์ด๋ฏธ์ง๋ ์ปจํ ์ด๋ ๋ด์ ๋ค์ด๊ฐ๋ ํ ํ๋ฆฟ์ผ๋ก ์ฌ์ฉ ๋๋ค.
๋์ปค๋ก ์ปจํ ์ด๋ ์ด๋ฏธ์ง๋ฅผ ๋ฐฐํฌํ๊ณ , ์ปจํ ์ด๋ ๋ด๋ถ์ ๋ฐฐํฌ๋ ์ค์ ์ด๋ฏธ์ง์ ์ ๋ณด ํ์ธํด๋ณด์.
# ์ฐ๋ถํฌ ์ด๋ฏธ์ง๋ก ์ปจํ
์ด๋๋ฅผ ์์ฑ ๋ฐ ์คํ
docker run -it --name=temp_ubuntu ubuntu:latest /bin/bash
# ์์ฑ๋ ๋์ปค ์ด๋ฏธ์ง์ ์์ ์ ๋ณด ํ์ธ
docker image inspect ubuntu
๋์ปค ์ด๋ฏธ์ง๋ฅผ ๊ฒ์ํ๋ ๋ฐฉ๋ฒ์ GUI / CLI ๋ ๋ค ๊ฐ๋ฅํ๋ค.
๋์ปค ๋ฐ์คํฌํฑ์ ์ค์นํ๊ณ ๋์ปค ๋ฐ์คํฌํฑ์ ๋ฉ์ธํ๋ฉด์ ๋งจ ์์ ๊ฒ์์ฐฝ์ ํตํด์ ์ํ๋ ์ด๋ฏธ์ง๋ฅผ ์ฐพ์ ์ ์๋ค.
์ด๋ฌํ ์ด๋ฏธ์ง๋ PULL
๋๋ RUN
์ ํตํด์ ์ด๋ฏธ์ง๋ฅผ ๋ฐ์์ค๊ฑฐ๋, ์ฆ์ ์ปจํ
์ด๋๋ก ๋ฐฐํฌํ ์ ์๋ค.
๋ค์๊ณผ ๊ฐ์ด ๊ธฐ๋ณธ์ ์ผ๋ก search ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฅผ ํํฐ๋ฅผ ๊ฑธ์ด์ ์ฌ์ฉํ ์ ์๋ค.
# ์ ์ฒด ubuntu ์ด๋ฏธ์ง ๊ฒ์
docker search ubuntu
# ๊ณต์ ubuntu ์ด๋ฏธ์ง๋ง ๊ฒ์
docker search ubuntu --filter is-official=true
# star ์๊ฐ 100๊ฐ ์ด์์ธ ubuntu๋ง ๊ฒ์
docker search ubuntu --filter is-official=true --filter stars=100
์ฐพ์ ๋์ปค ์ด๋ฏธ์ง๋ฅผ ๋์ปค ํ๋ธ์์ pull
๋ช
๋ น์ด๋ฅผ ํตํด์ ๋ด ๋ก์ปฌ ๋ ์ง์คํธ๋ฆฌ๋ก ๊ฐ์ ธ์ฌ ์ ์๋ค.
docker image pull nginx:latest
run
๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์ด๋ฏธ์ง ๊ฐ์ ธ์ด(pull)๊ณผ ๋์์ ์ด๋ฅผ ๋ฐฐํฌํ๊ณ , ์คํ, ์ ์๊น์ง ํ ์ ์๋ค.
docker container run -it --name "ubt_test1" ubuntu:lastest /bin/bash
ls
๋ฆฌ๋
์ค ๋ช
๋ น์ด๋ฅผ ํตํด ๋ฆฌ๋
์ค์ ํ์ผ ์์คํ
๋ค์ด ์ถ๋ ฅ๋๋ ๊ฒ์ ํ์ธํ ์ ์๋ค. ์ฆ, ๋์ปค ์ปจํ
์ด๋ ๋ด ์ค์ "๋ฆฌ๋
์ค ํ๊ฒฝ"์ด ์ ๋ฐฐํฌ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
๋์ปค ๋ฐ์คํฌํฑ์์์ ์ค์ ๋ฐฐํฌ๋ ์ด๋ฏธ์ง ํ์ธ
์ด์ฒ๋ผ ์ปจํ ์ด๋์๋ ubuntu์ ๊ฐ์ OS ๋ฟ๋ง ์๋๋ผ nginx๋ golang๋ฑ ๋ค๋ฅธ ์น ํ๊ฒฝ์ ์ด๋ฏธ์ง ๋ํ ๋ฐฐํฌํ ์ ์๋ค.
๐Tip
๋ค๋ง, ์ปจํ ์ด๋ ๊ฐ์ํ๋ ์ค์ ๋ก ์ด์์ฒด์ ๋ฅผ ์ค์นํ์ง ์๊ธฐ์ ํธ์คํธ ์ด์์ฒด์ ์ OS ์ปค๋์ ๊ณต์ ํ๊ฒ ๋๋ค.
์ด๋ฅผ ํตํด ์ผ๋ฐ์ ์ธ ๊ฐ์ํ๋ณด๋ค ๋ ๋น ๋ฅด๊ณ ๊ฒฝ๋ํ ๋์ด ์ฌ์ฉํ ์ ์๋ ๊ฒ์ธ๋ฐ, ๋ง์ฝ ์๋์ฐ ์์คํ ์ WSL์ด ์ค์น๋์ด์์ง ์์ผ๋ฉด ๋์ปค ์ปจํ ์ด๋๋ก ์ฐ๋ถํฌ๋ฅผ ๋ฐฐํฌํ ์๋ ์๋ค. ๊ด๋ จ ๊ธ
# ๋ก์ปฌ ๋ ์ง์คํธ๋ฆฌ์ ์ ์ฅ๋ ๋์ปค ์ด๋ฏธ์ง ํ์ธ
docker images
# ํ์ฌ ์คํ์ค์ธ ์ปจํ
์ด๋ ํ์ธ
docker ps -a
์ด๋ฏธ์ง๋ฅผ ์ญ์ ํ๋ ๋ช
๋ น์ด๋ rm
์ํตํด์ ์ฌ์ฉํ ์ ์๋ค.
๋จ,์ด๋ฌํ ์ด๋ฏธ์ง ์ญ์ ๋ฅผ ์ํด์๋ ํด๋น ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํ๋ ๋ชจ๋ ์ปจํ ์ด๋๋ ๊ธฐ์กด์ ์ด๋ฏธ ์ ์ง๋์ด ์์ด์ผ ํ๋ค.
docker image rm [OPTIONS] IMAGE [IMAGE ์ด๋ฆ]
docker image rm [OPTIONS] IMAGE [IMAGE AMI ID]
์ด์ ๊ฐ์ด ์ด๋ฏธ์ง AMI ID๋ฅผ ํตํด์๋ ์ญ์ ํ ์ ์๋ค.
docker image prune -a
image prune -a ๋ช ๋ น์ด๋ฅผ ํตํด์ ํ์ฌ ์ฌ์ฉ์ค์ด์ง ์์ ๋์ปค ์ด๋ฏธ์ง๋ฅผ ์ ์ฒด ๋ค ์ ๊ฑฐํ ์ ์๋ค.
docker system df
Docker ์์คํ ์ ์ ์ฒด ๋์คํฌ ์ฌ์ฉ๋ ์ ๋ณด๋ฅผ ์์ฝํ์ฌ ๋ณด์ฌ์ค๋ค. ์ด๋ฏธ์ง, ์ปจํ ์ด๋, ๋ณผ๋ฅจ, ์บ์์ ํ์ฌ ์ฌ์ฉ์ค์ธ ์ฉ๋์ ํ์ธํ ์ ์๋ค.
์ด๋ฅผ ํตํด ์ด๋ฏธ์ง๋ฅผ ๋ค์ด๋ก๋ ๋ฐ์์ ์์คํ ์ ์ฉ๋์ด ์ฐจ์ง๋์ ๋, ํ์ฌ ์ฉ๋์ด ์ผ๋งํผ ๋จ์๊ณ , ๊ฐ ์์๊ฐ ์ด๋ ์ ๋์ ๊ณต๊ฐ์ ์ฐจ์งํ๋ ์ง๋ฅผ ์ ์ ์๋ค.
-v
๋ฅผ ์ฌ์ฉํ๋ฉด ๋์ฑ ์์ธํ ์ ๋ณด๋ฅผ ํ์ธํ ์ ์๋ค.
docker system df -v
IMAGE
: ์ด๋ฏธ์ง ํ์ผ์ด ์ฐจ์งํ๋ ๊ณต๊ฐCONTAINER
: ์ปจํ ์ด๋๊ฐ ์ฌ์ฉํ๋ ๋์คํฌ ๊ณต๊ฐLOCAL VOLUMES
: ๋ก์ปฌ ๋ณผ๋ฅจ์ด ์ฐจ์งํ๋ ๊ณต๊ฐBUILD CACHE
: ๋น๋ ์บ์๊ฐ ์ฐจ์งํ๋ ๊ณต๊ฐ
docker system prune
docker system prune
์ Docker์์ ์ฌ์ฉ๋์ง ์๋ ์์๋ค์ ์ ๋ฆฌํ๋ ๋ช
๋ น์ด์ด๋ค. ํ๋ฒ์ ์ฌ์ฉ๋์ง ์๋ ์์๋ค์ ์ ๊ฑฐํ ์ ์๋ค.
- ๋ชจ๋ ์ค์ง๋ ์ปจํ ์ด๋๋ค
- ์ ์ด๋ ํ๋์ ์ปจํ ์ด๋์์ ์ฌ์ฉ๋์ง ์๋ ๋ชจ๋ ๋คํธ์ํฌ๋ค
- ์ฌ์ฉ๋์ง ์๋(dangling) ๋ชจ๋ ์ด๋ฏธ์ง๋ค
- ์ฌ์ฉ๋์ง ์๋(dangling) ๋ชจ๋ ๋น๋ ์บ์๋ค