๐Ÿ‹ Docker ์ฃผ์š” ๋ช…๋ น์–ด ์š”์•ฝ์ง‘

hyun_wยท2025๋…„ 8์›” 18์ผ

๐Ÿ‹ 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 ์˜ต์…˜์€ ๋นŒ๋“œ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋ฏ€๋กœ ํ•„์š”ํ•  ๋•Œ๋งŒ ์‚ฌ์šฉ

0๊ฐœ์˜ ๋Œ“๊ธ€