Docker Compose ジェネレーター

1テンプレートから始める(簡単)
2サービスを追加・削除(タップで切り替え)
3設定をカスタマイズ(任意)
サービスを追加してください

Docker Composeの概要

Docker Composeは、複数のコンテナをまとめて1つのYAMLファイルで定義し、docker compose upの一発で起動・停止できる開発支援ツールです。Webサーバー・アプリケーション・データベース・キャッシュといった構成要素を別々の docker run コマンドで起動する代わりに、1ファイルにネットワーク設定やボリュームマウント、依存関係まで宣言できるため、チーム間で開発環境を揃える用途に適しています。本ツールは、よく使うサービスをボタンで選ぶだけで雛形となる docker-compose.yml を組み立て、そのままコピーして使い始められるように設計されています。

YAMLの基本構造と主要キー

キー役割
services各コンテナの定義をぶら下げるルートキー。本ツールはここに選択したサービスを列挙します。
image / build使用するイメージ名、もしくはローカルのDockerfileからのビルド指定。
portsホスト側ポートとコンテナ側ポートの対応(例: "8080:80")。
environmentコンテナに渡す環境変数。DBパスワードやAPIキーをここで指定します。
volumesホストとコンテナ間で共有するボリューム。DBの永続化や開発時のホットリロードに使います。
depends_on起動順序の依存関係。Webアプリより先にDBを上げたい場面で指定します。

使い方の流れ

  1. 「テンプレートから始める」でLAMP・MEAN・Next.js+DB・WordPressのいずれかを選ぶか、ゼロから組みたい場合はステップ2に進みます。
  2. 「サービスを追加・削除」で必要なサービスをタップして追加します。もう一度押すと外せるので、構成を試行錯誤しやすい仕組みにしてあります。
  3. 追加したサービスごとに、ステップ3でポート番号やパスワードなどの設定を必要に応じて変更します。
  4. 「docker-compose.yml を生成」を押すと、画面下部にYAMLが表示されます。
  5. 「YAMLをコピー」でクリップボードに転送し、プロジェクトのルートに docker-compose.yml として保存して docker compose up -d を実行します。

こんな場面で使う

  • 新規プロジェクトの初期セットアップ: ゼロからWebアプリ+DB+キャッシュの環境を整えたいときに、YAMLを書き起こす手間を省けます。
  • チーム開発の環境統一: メンバー全員が同じ docker-compose.yml を共有することで「自分の環境では動く」現象を減らせます。
  • 技術ブログ・教材作成: 学習用にRedisやMongoDBを試したい時、雛形をすぐに用意できます。
  • 面接・採用課題の準備: コーディング課題で求められがちなDocker環境を、最短手順で再現できます。
  • 既存プロジェクトの整理: 古い docker-compose.yml を見直す際に、最新の書き方や定番サービスの組み合わせを再確認できます。

使う前に知っておきたい注意点

  • 本ツールは雛形を作るだけなので、生成されたパスワードや秘密鍵は必ず変更してください。サンプル値のまま本番に出さないことが大前提です。
  • ポート番号がローカルで競合する場合は、ホスト側のポートを変更します。MySQLの3306やPostgreSQLの5432はすでに使われていることがあります。
  • 本番環境では docker-compose.yml 単独でのデプロイは推奨されません。Docker SwarmやKubernetes、もしくはマネージドサービスに移行する想定で、まずは開発・検証用と位置づけてください。
  • ボリュームを正しく設定しないと、コンテナを docker compose down -v で削除した際にDBデータが消えます。永続化したいデータには名前付きボリュームを割り当てます。
  • 古い docker-compose v1系(Python製)と、現在主流のDocker CLI同梱版(docker compose)はオプションが一部異なります。本ツールは新しい記法(version指定なし)に寄せて出力します。

用語の補足

  • Dockerfile: 1つのコンテナイメージをビルドする手順書。docker-compose.yml から build: キーで参照します。
  • イメージとコンテナ: イメージは「設計図」、コンテナは「実行中のインスタンス」。同じイメージから複数コンテナを立ち上げられます。
  • compose profile: 開発・テスト・本番のように起動するサービスを切り替えたい場合に使う仕組み。profiles: キーで指定します。

よくある質問

開発用の雛形としてはそのまま docker compose up -d で起動できますが、パスワードや公開ポートはサンプル値です。本番に近い環境では .env ファイルに切り出し、Gitに含めない運用が基本になります。
Docker Compose v2では version: 指定は非推奨で、警告が出ることがあります。本ツールは現行の書き方に合わせて省略しています。古いCompose v1を使う場合のみ、先頭に version: "3.8" などを追記してください。
エラーメッセージにポート番号が表示されるので、対応するサービスの ports 設定を変更します。Nginxを8080にしたり、MySQLを3307にしたりとホスト側だけ書き換えれば、コンテナ内の挙動は変わりません。
本ツールはMySQL・PostgreSQL・MongoDBに対して、自動的に名前付きボリュームを割り当てる雛形を出力します。docker compose down ではデータは残り、docker compose down -v を実行した時のみ削除されます。
テンプレートを選んだ後にステップ2でサービスを追加・削除し、ステップ3で個別設定を変更してから生成すれば、自分のプロジェクトに合った構成を作れます。たとえばLAMPからRedisを外してWordPressプラグインだけ入れる、といった調整が可能です。
小規模な単一ホスト運用なら可能ですが、可用性やスケーリングを求める場合はKubernetesやECSなどへの移行を検討してください。本ツールは開発・検証用の雛形を素早く作る用途を想定しています。
いいえ、すべての処理はブラウザ上のJavaScriptで完結します。入力したパスワードやサービス構成が外部に送信されることはありません。