Docker Compose 多容器編排

Docker 2025-01-02T01:00:00.000Z

Docker Compose 多容器編排

Docker Compose 讓多容器應用程式的管理變得簡單,透過一個 YAML 檔案定義所有服務。

docker-compose.yml 基礎

version: "3.8"
services:
  web:
    build: .
    ports:
      - "3000:3000"
    environment:
      - DATABASE_URL=postgres://db:5432/mydb
    depends_on:
      - db
  db:
    image: postgres:16
    volumes:
      - db_data:/var/lib/postgresql/data
    environment:
      POSTGRES_PASSWORD: secret
volumes:
  db_data:

常用指令

docker compose up -d
docker compose logs -f
docker compose down
docker compose up -d --build

實用技巧

  • 使用 .env 檔案管理環境變數
  • depends_on 只控制啟動順序,不保證服務就緒
  • 使用 healthcheck 確保服務可用性