Docker Compose YAML

🔥 Vibe プロンプト

「FastAPI、Postgres、Redisを使用したWebアプリ用のdocker-compose.ymlを作成。ヘルスチェック、ボリューム、ネットワークを定義。」

version: "3.9"

services:
  api:
    build: ./api
    ports: ["8000:8000"]
    depends_on:
      db: { condition: service_healthy }
      redis: { condition: service_started }
    env_file: .env
    volumes: ["./api:/app"]
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
      interval: 30s
      retries: 3

  db:
    image: postgres:16-alpine
    volumes: ["pgdata:/var/lib/postgresql/data"]
    environment:
      POSTGRES_DB: myapp
      POSTGRES_PASSWORD: ${DB_PASSWORD}
    healthcheck:
      test: ["CMD", "pg_isready"]

  redis:
    image: redis:7-alpine
    volumes: ["redisdata:/data"]

volumes:
  pgdata:
  redisdata:

主要ディレクティブ

| ディレクティブ | 目的 | |------------|------| | depends_on | 起動順序制御 | | healthcheck | サービス準備完了確認 | | volumes | データ永続化 | | restart | 再起動ポリシー |

コマンド

docker compose up -d          # すべて起動
docker compose logs -f api    # ログを追跡
docker compose exec api bash  # コンテナ内で実行
docker compose down -v        # 停止+ボリューム削除

章のまとめ

  • コアコンセプトと原理を理解
  • 実装方法とテクニックを習得
  • 一般的な問題と解決策に精通
  • 実際のプロジェクトに適用可能

さらに読む

  • 公式ドキュメントとAPIリファレンス
  • GitHubのオープンソース例
  • 技術書とオンラインコース
  • コミュニティディスカッションと技術ブログ

実装例

基本例

# 完全な実装例を提供します

手順

  1. セットアップ: 開発環境の設定
  2. データ: 必要なデータの準備
  3. 実装: コア機能の構築
  4. テスト: 動作確認
  5. 最適化: パフォーマンスの向上

よくあるエラー

| エラー種別 | 原因 | 解決方法 | |-----------|------|---------| | コンパイル | 構文 | コードの構文を確認 | | 実行時 | 環境 | 依存パッケージの確認 | | 論理 | アルゴリズム | ステップごとのデバッグ | | パフォーマンス | 効率 | プロファイラーの使用 |

コード例

import sys

def main():
    print("Hello, World!")

if __name__ == "__main__":
    main()

参考資料

  • 公式ドキュメント
  • APIリファレンス
  • オープンソース例
  • コミュニティディスカッション

会員限定無料チュートリアル

このチャプターは登録会員限定の無料コンテンツです!ログインまたは登録してすぐにロックを解除してください。

今すぐログイン / 登録