๐ข 1. ์ปจํ ์ด๋ ์คํ ๋ฐ ์์ฑ
๋ช
๋ น์ด์ค๋ช
์์ฃผ ์ฐ๋ ์ต์
/์์
| docker run [์ต์ ] <์ด๋ฏธ์ง> | ์ด๋ฏธ์ง๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ ์ปจํ ์ด๋ ์์ฑ + ์คํ | -d ๋ฐฑ๊ทธ๋ผ์ด๋ ์คํ --name ์ปจํ ์ด๋ ์ด๋ฆ ์ง์ -p <ํธ์คํธํฌํธ:์ปจํ ์ด๋ํฌํธ> ํฌํธ ๋งคํ -v <ํธ์คํธ๊ฒฝ๋ก:์ปจํ ์ด๋๊ฒฝ๋ก> ๋ณผ๋ฅจ ๋ง์ดํธ ์: docker run -d --name web -p 8080:80 nginx |
| docker create [์ต์ ] <์ด๋ฏธ์ง> | ์คํํ์ง ์๊ณ ์ปจํ ์ด๋๋ง ์์ฑ | ์คํ์ docker start๋ก ๋ฐ๋ก ํจ |
๐ก 2. ์ปจํ ์ด๋ ์ํ ํ์ธ
๋ช
๋ น์ด์ค๋ช
์์
| docker ps | ํ์ฌ ์คํ ์ค์ธ ์ปจํ ์ด๋ ๋ชฉ๋ก ํ์ | -a ์ต์ : ์ค์ง๋ ์ปจํ ์ด๋๊น์ง ๋ชจ๋ ๋ณด๊ธฐ |
| docker inspect <์ปจํ ์ด๋ID/์ด๋ฆ> | ์ปจํ ์ด๋์ ์ธ๋ถ ์ค์ ·์ํ(JSON) ์กฐํ | docker inspect web |
| docker logs <์ปจํ ์ด๋ID/์ด๋ฆ> | ์ปจํ ์ด๋์์ ์ถ๋ ฅ๋ ๋ก๊ทธ ํ์ธ | -f ์ต์ : ์ค์๊ฐ ๋ก๊ทธ ์คํธ๋ฆฌ๋ฐ |
| docker stats | ์คํ ์ค์ธ ์ปจํ ์ด๋๋ค์ CPU·๋ฉ๋ชจ๋ฆฌ·๋คํธ์ํฌ ์ฌ์ฉ๋ ๋ชจ๋ํฐ๋ง |
๐ต 3. ์ปจํ ์ด๋ ์ ์ด(์คํ·์ค์ง·์ฌ์์ ๋ฑ)
๋ช
๋ น์ด์ค๋ช
์์
| docker start <์ปจํ ์ด๋> | ์ค์ง๋ ์ปจํ ์ด๋ ์์ | docker start web |
| docker stop <์ปจํ ์ด๋> | ์ ์ ์ข ๋ฃ (SIGTERM → SIGKILL) | docker stop web |
| docker restart <์ปจํ ์ด๋> | ์ปจํ ์ด๋ ์ฌ์์ | docker restart web |
| docker pause <์ปจํ ์ด๋> | ์ปจํ ์ด๋์ ํ๋ก์ธ์ค ์ผ์ ์ค์ง | |
| docker unpause <์ปจํ ์ด๋> | ์ค์ง๋ ์ปจํ ์ด๋ ์ฌ๊ฐ | |
| docker kill <์ปจํ ์ด๋> | ๊ฐ์ ์ข ๋ฃ (SIGKILL) | ๋น ๋ฅด๊ฒ ์ข ๋ฃํ ๋ ์ฌ์ฉ |
๐ 4. ์ปจํ ์ด๋ ์ ๊ทผ ๋ฐ ๋ช ๋ น ์คํ
๋ช
๋ น์ด์ค๋ช
์์
| docker exec [์ต์ ] <์ปจํ ์ด๋> <๋ช ๋ น> | ์คํ ์ค์ธ ์ปจํ ์ด๋ ์์์ ๋ช ๋ น ์คํ | -it ์ต์
: ํฐ๋ฏธ๋ ๋ชจ๋๋ก ์ ์ docker exec -it web bash → web ์ปจํ ์ด๋์ ์ ์ ์ |
| docker attach <์ปจํ ์ด๋> | ํ์ฌ ํฐ๋ฏธ๋์ ์ปจํ ์ด๋์ ํ์ค ์ ์ถ๋ ฅ์ ์ฐ๊ฒฐ | ์ฃผ์: exit ์ ์ปจํ ์ด๋๋ ์ค์ง๋ ์ ์์ |
๐ด 5. ์ปจํ ์ด๋ ์ญ์
๋ช
๋ น์ด์ค๋ช
์์
| docker rm <์ปจํ ์ด๋> | ์ค์ง๋ ์ปจํ ์ด๋ ์ญ์ | -f ์ต์ : ์คํ ์ค์ธ ์ปจํ ์ด๋๋ฅผ ๊ฐ์ ๋ก ์ญ์ |
| docker container prune | ๋ชจ๋ ์ค์ง๋ ์ปจํ ์ด๋ ์ผ๊ด ์ญ์ | -f ์ต์ : ํ์ธ ๋ฉ์์ง ์์ด ๋ฐ๋ก ์ญ์ |
๐ ์ถ๊ฐ ๊ฟํ
- ์ปจํ ์ด๋ ์ด๋ฆ ๋์ ID ์ ๋ช ๊ธ์๋ง ์ ๋ ฅํด๋ ์ธ์๋จ: docker stop a1b2c3
- ์ปจํ ์ด๋ ์คํ ์ ํ๊ฒฝ ๋ณ์ ์ค์ :
-
docker run -d -e MYSQL_ROOT_PASSWORD=1234 mysql:8
- ๋ณผ๋ฅจ ๋ง์ดํธ๋ก ๋ฐ์ดํฐ ๋ณด์กด:
-
docker run -d -v /local/data:/var/lib/mysql mysql:8
- ์์ฃผ ์ฐ๋ docker run ์กฐํฉ ์์:
-
docker run -d --name myapp -p 8080:80 -v $(pwd):/usr/share/nginx/html nginx
๐ ์ ๋ฆฌ
- ์ปจํ ์ด๋ ์คํ: docker run, docker start
- ์ํ ํ์ธ: docker ps, docker logs, docker inspect
- ์ ์ด: docker stop, docker restart, docker exec
- ์ญ์ : docker rm, docker container prune
์ด ๋ช ๋ น์ด๋ค์ ์ตํ๋ฉด ์ปจํ ์ด๋์ ์๋ช ์ฃผ๊ธฐ(Lifecycle) ๋ฅผ ๊ฑฐ์ ๋ค๋ฃฐ ์ ์์ต๋๋ค.
์ปจํ
์ด๋ “๋งคํ(mapping)” ์ด๋ผ๊ณ ํ๋ฉด ์ฃผ๋ก ํธ์คํธ ↔ ์ปจํ
์ด๋ ๊ฐ ๋ฆฌ์์ค ์ฐ๊ฒฐ์ ๋ปํฉ๋๋ค.
Docker์์ ๊ฐ์ฅ ์์ฃผ ์ฐ๋ ๋งคํ์ ํฌํธ ๋งคํ๊ณผ ๋ณผ๋ฅจ(๋๋ ํ ๋ฆฌ) ๋งคํ ๋ ๊ฐ์ง์
๋๋ค.
๐ต 1. ํฌํธ ๋งคํ (Port Mapping)
ํธ์คํธ์ ํฌํธ๋ฅผ ์ปจํ ์ด๋์ ํฌํธ์ ์ฐ๊ฒฐํ์ฌ ์ธ๋ถ์์ ์ปจํ ์ด๋์ ์๋น์ค์ ์ ๊ทผํ ์ ์๊ฒ ํฉ๋๋ค.
๋ช ๋ น์ด
docker run -d -p <ํธ์คํธํฌํธ>:<์ปจํ
์ด๋ํฌํธ> <์ด๋ฏธ์ง>
์์์ค๋ช
| docker run -d -p 8080:80 nginx | ํธ์คํธ 8080 ํฌํธ → ์ปจํ ์ด๋ 80 ํฌํธ ์ฐ๊ฒฐ → ๋ธ๋ผ์ฐ์ ์์ http://localhost:8080 ์ ์ ๊ฐ๋ฅ |
| docker run -d -p 127.0.0.1:5000:5000 myapp | ํน์ ํธ์คํธ IP(127.0.0.1) ์ 5000 → ์ปจํ ์ด๋ 5000 |
| docker run -d -P nginx | -P ์ต์ : Docker๊ฐ ์ปจํ ์ด๋์ EXPOSE๋ ํฌํธ๋ฅผ ๋๋ค ํธ์คํธ ํฌํธ๋ก ์๋ ๋งคํ |
๐ ํ์ฌ ๋งคํ ์ํ ํ์ธ:
docker port <์ปจํ
์ด๋์ด๋ฆ>
'DOCKER' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [DOCKER] Image ๊ด๋ จ ๋ช ๋ น์ด (0) | 2025.09.30 |
|---|---|
| [DOCKER] ๊ธฐ๋ณธ ๊ฐ๋ (0) | 2025.09.30 |