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のオープンソース例
- 技術書とオンラインコース
- コミュニティディスカッションと技術ブログ
実装例
基本例
# 完全な実装例を提供します
手順
- セットアップ: 開発環境の設定
- データ: 必要なデータの準備
- 実装: コア機能の構築
- テスト: 動作確認
- 最適化: パフォーマンスの向上
よくあるエラー
| エラー種別 | 原因 | 解決方法 | |-----------|------|---------| | コンパイル | 構文 | コードの構文を確認 | | 実行時 | 環境 | 依存パッケージの確認 | | 論理 | アルゴリズム | ステップごとのデバッグ | | パフォーマンス | 効率 | プロファイラーの使用 |
コード例
import sys
def main():
print("Hello, World!")
if __name__ == "__main__":
main()
参考資料
- 公式ドキュメント
- APIリファレンス
- オープンソース例
- コミュニティディスカッション