無料ツール
Docker Compose を図に変換
docker-compose.yml を貼り付けると、サービス、ネットワーク、ボリューム、依存関係を図で確認できます。試すだけならアカウントは不要です。
出力例
Kubernetes のマニフェストをお持ちですか? Kubernetes YAML ツールを試す
使い方
Compose ファイルを貼り付けるかドロップ
docker compose up で使っている docker-compose.yml や compose.yaml をそのまま使えます。YAML のアンカーや x- 拡張フィールドも問題ありません。
図を確認
サービスはイメージ、ポート、レプリカ数を載せたカードになります。ネットワークは枠になり、名前付きボリューム、secret、config はそれを使うサービスにつながります。
Archboard で開く
新しい図として保存すれば、配置の変更、注釈の追加、リンクの共有、SVG・PNG へのエクスポートができます。登録は Google か GitHub のアカウントだけで済みます。
Compose ファイルから描かれるもの
図はファイル内の次のキーから作られます。
services各サービスを、キー名を付けたカードとして
imagebuildイメージ、またはソースからビルドするサービスではビルドコンテキスト
ports8080:80 や 80 のようなポート(ホスト IP は省略。長い書式は published:target で、TCP 以外はプロトコルも表示)
deploy.replicasscaledeploy.replicas または scale のレプリカ数
volumes名前付きボリュームを、それをマウントするサービスにつないで
secretsconfigssecret と config を名前だけで、それを使うサービスにつないで
networksネットワークを枠として(各サービスは最初のネットワークの枠に入ります)
depends_onサービスから依存先のサービスへの接続
networks キーがない場合、プロジェクト全体が 1 つの枠として描かれます。ネットワークがある場合、各サービスは最初のネットワークの枠に入り、参加している他のネットワークの枠と線でつながります。
図でわからないこと
- 実行時にどのサービスがどのサービスを呼び出しているか(depends_on が決めるのは起動順序です。Compose ファイルが表すのはサービスの関係で、実際の通信ではありません)
- 環境変数の値、env_file の中身、secret や config の中身(読み取るのは名前だけです)
- 実行中のコンテナー、ヘルス状態、ログ、リソース使用量
- extends で継承されるフィールド(同じファイル内のサービスからでも)と、include で読み込むファイルのサービス(描かれるのは各サービスに書かれたフィールドだけです)
よくある質問
どの Compose ファイルに対応していますか?
トップレベルに services キーがある docker-compose.yml や compose.yaml なら使えます。version 行で始まる古いファイルも含みます。一度に貼り付けるのは 1 ファイルだけにしてください。
変数や .env ファイルはどうなりますか?
変数は展開されません。変数を使って書かれたイメージやポートは、書かれたとおりに表示されます。environment の値や env_file に指定したファイルは読み取りません。
override ファイルや複数のファイルを貼り付けられますか?
一度に貼り付けるのは 1 ファイルです。docker-compose.override.yml などの override ファイルは単独で読み取られるため、見たいサービスがあるファイルを貼り付けるか、先にファイルを 1 つにまとめてください。include で指定したファイルはたどらず、extends も解決しません。同じファイル内でも、描かれるのはそのサービスに書かれたフィールドだけです。
図を Archboard で開くとどうなりますか?
表示されている図(図形、名前、接続)が、ワークスペースに新しい図として保存されます。配置の変更、メモの追加、共有、エクスポートができます。あくまで出発点なので、後から Compose ファイルを変更しても図は更新されません。
ツールは無料ですか?
はい。Compose ファイルの貼り付けと図の表示にアカウントは不要です。Archboard で開くには無料アカウントが必要です。