πŸ‹ Docker μ„€μΉ˜ 및 μ‹€ν–‰ (1-2)

hyun_wΒ·2025λ…„ 8μ›” 19일

Docker 이미지 vs μ»¨ν…Œμ΄λ„ˆ

ꡬ뢄이미지(Image)μ»¨ν…Œμ΄λ„ˆ(Container)
μ •μ˜μ‹€ν–‰ κ°€λŠ₯ν•œ μ†Œν”„νŠΈμ›¨μ–΄ νŒ¨ν‚€μ§€μ΄λ―Έμ§€μ˜ μ‹€ν–‰ μΈμŠ€ν„΄μŠ€
μƒνƒœμ •μ (읽기 μ „μš©)동적(μ‹€ν–‰ 쀑)
λΉ„μœ ν”„λ‘œκ·Έλž¨ μ„€μΉ˜ 파일(.exe)μ‹€ν–‰ 쀑인 ν”„λ‘œκ·Έλž¨
μ˜ˆμ‹œnginx:latest, mysql:8.0nginx μ›Ήμ„œλ²„κ°€ μ‹€μ œ μ‹€ν–‰λ˜λŠ” μƒνƒœ

☘️ μ»¨ν…Œμ΄λ„ˆ 생λͺ…μ£ΌκΈ°

Docker Linux에 μ„€μΉ˜ (AWS)

docker run -d -p 3000:3000 --name my-node node:18 `
  node -e "require('http').createServer((req,res)=>{res.writeHead(200,{'Content-Type':'text/html; charset=utf-8'});res.end('<h1>μ•ˆλ…•ν•˜μ„Έμš”! Node.js μ»¨ν…Œμ΄λ„ˆμž…λ‹ˆλ‹€ 🐳</h1>');}).listen(3000,()=>console.log('Server running on port 3000'));"

πŸŽͺ μ’…ν•© μ‹€μŠ΅: λ©€ν‹° μ»¨ν…Œμ΄λ„ˆ ν™˜κ²½ ꡬ성

# μƒˆλ‘œμš΄ λ„€νŠΈμ›Œν¬ 생성
docker network create blog-network

# 1. MySQL λ°μ΄ν„°λ² μ΄μŠ€ μ»¨ν…Œμ΄λ„ˆ μ‹€ν–‰
docker run -d \
  --name blog-mysql \
  --network blog-network \
  -e MYSQL_ROOT_PASSWORD=rootpass \
  -e MYSQL_DATABASE=blog \
  -e MYSQL_USER=bloguser \
  -e MYSQL_PASSWORD=blogpass \
  -p 3306:3306 \
  mysql:8.0

# 2. μž μ‹œ λŒ€κΈ° (MySQL μ΄ˆκΈ°ν™” μ‹œκ°„)
sleep 30

# 3. phpMyAdmin으둜 λ°μ΄ν„°λ² μ΄μŠ€ 관리 도ꡬ μ‹€ν–‰
docker run -d \
  --name blog-phpmyadmin \
  --network blog-network \
  -e PMA_HOST=blog-mysql \
  -e PMA_PORT=3306 \
  -p 8080:80 \
  phpmyadmin:latest

# 4. Redis μΊμ‹œ μ„œλ²„ μ‹€ν–‰
docker run -d \
  --name blog-redis \
  -p 6379:6379 \
  redis:alpine

# 5. Nginx μ›Ήμ„œλ²„ μ‹€ν–‰
docker run -d \
  --name blog-nginx \
  -p 80:80 \
  nginx:alpine

# μ‹€ν–‰ 쀑인 λͺ¨λ“  μ»¨ν…Œμ΄λ„ˆ 확인
docker ps

0개의 λŒ“κΈ€