๐ 1. Docker ๊ธฐ๋ณธ ๋ช
๋ น์ด
์ด๋ฏธ์ง ๊ด๋ฆฌ
# ์ด๋ฏธ์ง ๋ชฉ๋ก ํ์ธ
docker images
# ์ด๋ฏธ์ง ๋ค์ด๋ก๋
docker pull nginx:latest
# ์ด๋ฏธ์ง ์ญ์
docker rmi <์ด๋ฏธ์งID>
# ์ฌ์ฉํ์ง ์๋ ์ด๋ฏธ์ง ๋ชจ๋ ์ญ์
docker image prune -a
์ปจํ
์ด๋ ๊ด๋ฆฌ
# ์ปจํ
์ด๋ ์คํ
docker run -d --name my-container nginx
# ์คํ ์ค์ธ ์ปจํ
์ด๋ ํ์ธ
docker ps
# ๋ชจ๋ ์ปจํ
์ด๋ ํ์ธ (์ค์ง๋ ๊ฒ ํฌํจ)
docker ps -a
# ์ปจํ
์ด๋ ์ค์ง
docker stop <์ปจํ
์ด๋ID>
# ์ปจํ
์ด๋ ์ญ์
docker rm <์ปจํ
์ด๋ID>
# ์ปจํ
์ด๋ ๊ฐ์ ์ญ์
docker rm -f <์ปจํ
์ด๋ID>
๋ก๊ทธ ๋ฐ ์ ์
# ์ปจํ
์ด๋ ๋ก๊ทธ ํ์ธ
docker logs <์ปจํ
์ด๋๋ช
>
# ์ค์๊ฐ ๋ก๊ทธ ํ์ธ
docker logs -f <์ปจํ
์ด๋๋ช
>
# ์ปจํ
์ด๋ ๋ด๋ถ ์ ์
docker exec -it <์ปจํ
์ด๋๋ช
> /bin/bash
๐ 2. Docker Compose ๋ช
๋ น์ด
๊ธฐ๋ณธ ์คํ/์ค์ง
# ์๋น์ค ์คํ (๋ฐฑ๊ทธ๋ผ์ด๋)
docker-compose up -d
# ์๋น์ค ์ค์ง
docker-compose down
# ์๋น์ค ์ค์ง (๋ณผ๋ฅจ๊น์ง ์ญ์ )
docker-compose down -v
# ํน์ ์๋น์ค๋ง ์คํ
docker-compose up -d <์๋น์ค๋ช
>
๋น๋ ๊ด๋ จ
# ์ด๋ฏธ์ง ๋น๋
docker-compose build
# ์บ์ ์์ด ๋น๋
docker-compose build --no-cache
# ๋น๋ ํ ๋ฐ๋ก ์คํ
docker-compose up --build -d```
๋ชจ๋ํฐ๋ง
# ์คํ ์ค์ธ ์๋น์ค ํ์ธ
docker-compose ps
# ๋ชจ๋ ์๋น์ค ๋ก๊ทธ ํ์ธ
docker-compose logs -f
# ํน์ ์๋น์ค ๋ก๊ทธ๋ง ํ์ธ
docker-compose logs -f <์๋น์ค๋ช
>
๐ 3. Docker ์์ ์ด๊ธฐํ
Docker ์์ ์ด๊ธฐํ
# ๋ชจ๋ ์ปจํ
์ด๋ ์ค์ง ๋ฐ ์ญ์
docker-compose down -v --remove-orphans
# ๋ชจ๋ Docker ๋ฆฌ์์ค ์ญ์ (์ด๋ฏธ์ง, ๋ณผ๋ฅจ, ๋คํธ์ํฌ, ์บ์)
docker system prune -a --volumes
# ํ์ธ: ๋ชจ๋ ๋ฆฌ์์ค๊ฐ ์ญ์ ๋์๋์ง ์ฒดํฌ
docker ps -a
docker images
docker volume ls
docker network ls
์ฝ๋๋ฅผ ์
๋ ฅํ์ธ์
์ ํ์ ๋ฆฌ์์ค ์ญ์
# ์ค์ง๋ ์ปจํ
์ด๋๋ง ์ญ์
docker container prune
# ์ฌ์ฉํ์ง ์๋ ์ด๋ฏธ์ง๋ง ์ญ์
docker image prune -a
# ์ฌ์ฉํ์ง ์๋ ๋ณผ๋ฅจ๋ง ์ญ์
docker volume prune
# ์ฌ์ฉํ์ง ์๋ ๋คํธ์ํฌ๋ง ์ญ์
docker network prune
๐ 4. ์ค๋ฌด์์ ์์ฃผ ์ฌ์ฉํ๋ ํจํด
๊ฐ๋ฐ ํ๊ฒฝ ์ฌ์์
# 1. ์๋น์ค ์ค์ง ๋ฐ ์ฌ๋น๋
docker-compose down
docker-compose build --no-cache
docker-compose up -d
# 2. ์ค์๊ฐ ๋ก๊ทธ ํ์ธ
docker-compose logs -f
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด๊ธฐํ
# DB ๋ณผ๋ฅจ๊น์ง ์์ ์ญ์ ํ ์ฌ์์
docker-compose down -v
docker-compose up -d
ํน์ ์๋น์ค๋ง ์ฌ์์
# ํน์ ์๋น์ค ์ฌ์์
docker-compose restart <์๋น์ค๋ช
>
# ํน์ ์๋น์ค ์ฌ๋น๋ ํ ์คํ
docker-compose up --build -d <์๋น์ค๋ช
>
์ปจํ
์ด๋ ๋๋ฒ๊น
# ์ปจํ
์ด๋ ๋ด๋ถ ํ์ผ ์์คํ
ํ์ธ
docker exec -it <์ปจํ
์ด๋๋ช
> ls -la
# ์ปจํ
์ด๋ ๋ฆฌ์์ค ์ฌ์ฉ๋ ํ์ธ
docker stats
# ์ปจํ
์ด๋ ์ธ๋ถ ์ ๋ณด ํ์ธ
docker inspect <์ปจํ
์ด๋๋ช
>
๐ 5. ํธ๋ฌ๋ธ์ํ
๋ช
๋ น์ด
ํฌํธ ์ถฉ๋ ํด๊ฒฐ
# ํฌํธ ์ฌ์ฉ ์ค์ธ ํ๋ก์ธ์ค ํ์ธ (macOS/Linux)
lsof -i :3000
# ํ๋ก์ธ์ค ์ข
๋ฃ
kill -9 <PID>
์ฉ๋ ๊ด๋ฆฌ
# Docker ์ ์ฒด ์ฉ๋ ํ์ธ
docker system df
# ์์ธ ์ฉ๋ ์ ๋ณด
docker system df -v
๋คํธ์ํฌ ๋ฌธ์ ํด๊ฒฐ
# ๋คํธ์ํฌ ๋ชฉ๋ก ํ์ธ
docker network ls
# ํน์ ๋คํธ์ํฌ ์์ธ ์ ๋ณด
docker network inspect <๋คํธ์ํฌ๋ช
>
๐ก ์ ์ฉํ ํ
1. ์์ฃผ ์ฌ์ฉํ๋ ๋ณ์นญ(alias) ์ค์
# ~/.bashrc ๋๋ ~/.zshrc์ ์ถ๊ฐ
alias dps='docker ps'
alias dcu='docker-compose up -d'
alias dcd='docker-compose down'
alias dcl='docker-compose logs -f'
alias dprune='docker system prune -a --volumes'
2. ํ ๋ฒ์ ์ฌ๋ฌ ์ปจํ
์ด๋ ์ญ์
# ๋ชจ๋ ์ค์ง๋ ์ปจํ
์ด๋ ์ญ์
docker rm $(docker ps -aq --filter "status=exited")
# ํน์ ํจํด์ ์ปจํ
์ด๋ ์ญ์
docker rm $(docker ps -aq --filter "name=test*")
3. ์ด๋ฏธ์ง ํ๊ทธ ๊ด๋ฆฌ
# ํ๊ทธ ์๋ ์ด๋ฏธ์ง(dangling) ์ญ์
docker rmi $(docker images -f "dangling=true" -q)
โ ๏ธ ์ฃผ์์ฌํญ
docker system prune -a --volumes ๋ช
๋ น์ด๋ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํ๋ฏ๋ก ์ ์คํ ์ฌ์ฉ
- ํ๋ก๋์
ํ๊ฒฝ์์๋
v ์ต์
์ฌ์ฉ ์ ๋ฐ์ดํฐ ๋ฐฑ์
ํ์
-no-cache ์ต์
์ ๋น๋ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฌ๋ฏ๋ก ํ์ํ ๋๋ง ์ฌ์ฉ