화. 8월 12th, 2025

D: 🚀 Introduction to Docker Compose
Docker Compose is a powerful tool for defining and running multi-container Docker applications. With a simple YAML file, you can configure all your services, networks, and volumes, then manage them with easy commands.

🔥 Why Use Docker Compose?
Simplify multi-container setups – No more manual docker run commands!
Reproducible environments – Share docker-compose.yml for consistent deployments.
Efficient development – Start/stop all services with a single command.


📜 1. Basic Docker Compose Commands

docker-compose up

Starts all services defined in docker-compose.yml.

docker-compose up  # Starts in attached mode (logs visible)
docker-compose up -d  # Detached mode (runs in background)

docker-compose down

Stops and removes containers, networks, and volumes.

docker-compose down  # Stops containers
docker-compose down -v  # Also removes volumes (careful!)

docker-compose ps

Lists running containers in the Compose project.

docker-compose ps
# Example Output:
# NAME                COMMAND             STATUS
# web_app             "npm start"         Up 2 minutes
# db                  "docker-entrypoint…" Up 2 minutes

docker-compose logs

Displays logs from all services.

docker-compose logs  # Shows all logs
docker-compose logs web  # Only shows logs for 'web' service

🛠 2. Advanced Docker Compose Commands

docker-compose build

Rebuilds images defined in docker-compose.yml.

docker-compose build  # Rebuilds all services
docker-compose build web  # Rebuilds only the 'web' service

docker-compose exec

Runs a command inside a running container.

docker-compose exec db psql -U postgres  # Runs PostgreSQL CLI
docker-compose exec web bash  # Opens a shell in 'web' container

docker-compose pull

Downloads updated images for services.

docker-compose pull  # Updates all images
docker-compose pull redis  # Updates only Redis image

docker-compose restart

Restarts services without rebuilding.

docker-compose restart  # Restarts all services
docker-compose restart api  # Restarts only 'api' service

🚀 3. Real-World Docker Compose Example

Sample docker-compose.yml

version: "3.8"
services:
  web:
    build: .
    ports:
      - "5000:5000"
    depends_on:
      - redis
  redis:
    image: "redis:alpine"
    volumes:
      - redis_data:/data

volumes:
  redis_data:

How to Use It?

1️⃣ Start the app:

docker-compose up -d

2️⃣ Check running services:

docker-compose ps

3️⃣ Access logs:

docker-compose logs web

4️⃣ Stop everything:

docker-compose down

🔥 Bonus Tips & Tricks

Override configurations with docker-compose.override.yml.
Scale services with docker-compose up --scale web=3.
Use profiles (profiles:) to conditionally start services.


🎯 Conclusion

Docker Compose makes managing multi-container apps effortless! 🎉
Master these commands to streamline your development workflow.

💡 Need more? Check out the official Docker Compose docs!

Would you like a deep dive into any specific command? Let me know! 🚀

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다