Docker Compose Studio

docker run のコマンドを compose.yaml に、compose.yaml を docker run に変換します。compose.yaml は構文・Compose Specification・よくある誤りを調べ、セキュリティ上の確認点も一覧にします。コンテナの起動やイメージの取得はせず、入力は端末の外へ送りません。

端末内で処理・アップロードなしスマホ対応オフライン対応ベータ

ファイルや入力内容はお使いの端末(ブラウザ)の中だけで処理され、サーバーへは送信されません。

実際にコンテナを起動したり、イメージを取得したり、脆弱性をスキャンしたりはしません。指摘は断定ではなく「確認したい点」です。

入力(compose.yaml / docker-compose.yml)
0 文字0 行
整形した compose.yaml
左に入力すると、ここに結果が出ます。「サンプル」で試せます。

左に入力すると、ここに結果が出ます。「サンプル」で試せます。

使い方

  1. docker run …

    docker run を貼る

  2. compose.yaml
    依存関係図.svg

    compose.yaml に変換

  3. docker run(bash など)

    docker run に戻す

docker run のコマンドを compose.yaml に変換し、戻すこともできる流れ
  1. 上の「変換の向き」を選びます。「検証・整形」は compose.yaml の確認、「docker run → compose」と「compose → docker run」は変換です。

  2. 左の入力欄にコマンドまたは compose.yaml を貼り付けるか、「ファイルを開く」で読み込みます。「サンプル」ボタンで画面を試せます。

  3. 右側の「結果」に変換後(または整形後)のコードが出ます。「指摘」にはエラー・要確認・参考が行番号つきで並び、「依存関係図」ではサービスの起動順と depends_on を見られます。

  4. 秘密らしい値を共有前に隠したいときは「秘密らしい値を伏せて出力」をオンにします。整形では、インデント・キーの並び・ポートの引用符・version: の削除を選べます。

  5. 「コピー」または「ダウンロード」で保存します。図は SVG でも保存できます。

できること

docker run → compose

複数のコマンド(複数行・\ や ` での改行)をまとめて services に変換します。-p・-v・--mount・-e・--env-file・--name・--restart・--network・-w・-u・--entrypoint・--health-*・--cap-add・--privileged・--gpus・-it など約 90 のオプションに対応し、対応できないオプションは一覧で示します。$(pwd) は ./ にします。

compose → docker run

サービスごとに docker run を生成します(bash と PowerShell)。depends_on の順に並べ、変換できない項目(build・deploy のレプリカなど)は一覧にします。

公式スキーマで検証

Compose Specification の JSON Schema(版を固定して同梱)で、未知のキー・型の誤り・必須キーの欠落を行・列つきで示します。YAML の構文エラーと重複キーも位置つきです。

よくある誤りの検査

version: の廃止、"22:22" のようなポートの引用符、未定義のネットワーク・ボリューム・サービスの参照、depends_on の循環と healthcheck のない service_healthy、${VAR:-既定値} の書式の誤り、ホストのポートの重複を調べます。

セキュリティの確認点

privileged、/var/run/docker.sock のマウント、network_mode: host、cap_add の ALL・SYS_ADMIN、0.0.0.0 への公開(127.0.0.1 の案つき)、environment のパスワード・トークン(値は伏せて表示)、latest タグ、root での実行を「確認したい点」として挙げます。断定はしません。

整形と依存関係の図

キーを慣例の順に並べ、インデントとポートの引用符をそろえます(コメントは残します)。サービスの依存関係は、起動順に並べた SVG とテキストで出力します。外部ライブラリは使いません。

こんなときに

  • README にある docker run の例を、compose.yaml に書き換えたい
  • compose.yaml が動かない原因(インデント・キーの綴り・未定義のネットワークやボリューム)を探したい
  • 公開前の compose.yaml に、privileged や docker.sock のマウント、0.0.0.0 への公開が残っていないか確かめたい
  • docker-compose.yml の version: やポートの書き方を現在の形に整えたい
  • サービス間の depends_on と起動順を図で確認したい

対応形式

入力

docker run のコマンド(bash・PowerShell・cmd)compose.yamldocker-compose.yml.yaml.yml.txt

出力

compose.yamldocker run(bash / PowerShell)SVG(依存関係図)

対応状況

機能対応補足
docker run → compose の変換対応複数コマンド・複数行に対応。未対応のオプションは一覧で表示
compose → docker run の変換一部対応build・depends_on・deploy のレプリカ・secrets など docker run にない項目は変換せず一覧にします
YAML の構文・Compose Specification での検証対応行・列つき。include や extends の参照先ファイルは読みません
セキュリティの確認点の指摘一部対応書かれた設定の確認点を挙げるだけで、安全性の保証ではありません
整形・キーの並べ替え・依存関係の図対応アンカー(&)・エイリアス(*)を含む場合は並べ替えません
コンテナの起動・動作確認非対応実際には起動しません。docker compose config や docker compose up で確認してください
イメージの取得・脆弱性スキャン非対応イメージの中身や脆弱性は調べません。通信は行いません
シェルの展開($(...)・変数の値)非対応$(pwd) 以外のコマンド置換は実行せず、変数は Compose の補間として残します
オフラインでの利用対応一度開いたあとは通信なしで動作

制限・注意事項

  • 入力は 500,000 文字までです。
  • サービスは 200 個まで、YAML のエイリアスの展開は 200 回までです。
  • 指摘は 300 件まで表示します。スキーマの指摘は 40 件までです。
  • 処理が 20 秒で終わらない場合は打ち切ります。
  • docker run は 1 行ずつ読み、パイプ・; ・&& 以降は無視します。複数の YAML ドキュメント(---)には対応していません。
  • スキーマは Compose Specification(compose-spec/compose-spec、2026-09-11 時点)です。Docker Compose の版によっては受け付ける項目が異なります。

プライバシーと安全性

貼り付けた compose.yaml や docker run のコマンド、読み込んだファイルは、お使いのブラウザの中だけで処理されます。サーバーへの送信・保存はしません。パスワードやトークンの指摘も端末内で判定し、画面には伏せた値だけを表示します。

よくある質問

docker run を docker-compose.yml(compose.yaml)に変換するには?
「変換の向き」で「docker run → compose」を選び、docker run のコマンドを貼り付けます。-p は ports、-v は volumes、-e は environment などに変換され、複数のコマンドはサービスごとに並びます。対応できなかったオプションは「指摘」に一覧で出ます。
docker compose の書き方が正しいか検証できますか?
「検証・整形」に compose.yaml を貼ると、YAML の構文、Compose Specification の JSON Schema、未定義のネットワークやボリュームの参照、depends_on の循環などを行番号つきで調べます。実際に起動して確かめるものではないので、最終確認には docker compose config を使ってください。
version: は書かないといけませんか?
現在の Docker Compose では version: は使われず、書いても無視されます(警告が出ることがあります)。このツールは「参考」として削除を勧め、整形時に「version: を削除」で消せます。
ポートを "80:80" のように引用符で囲むのはなぜですか?
YAML では 22:22 のように「数字:数字」を 60 進数と読むことがあり、コンテナ側が 60 未満のポートで意図しない値になる場合があります。文字列にしておけば避けられるので、このツールは引用符のないポートを指摘し、整形で引用符をそろえます。
セキュリティの指摘は、問題があるという意味ですか?
いいえ。privileged、docker.sock のマウント、0.0.0.0 への公開などは、用途によっては必要なこともあります。「本当に必要か確認したい点」として挙げているだけで、安全性を判定するものではありません。パスワードらしい値は、画面では伏せて表示します。
入力した compose.yaml はサーバーに送られますか?
いいえ。変換・検証・図の作成はすべてブラウザ内で行い、入力内容が LIBRA Works のサーバーや第三者に送信されることはありません。

YAML / TOML 検証・整形・変換(YAML / TOML Studio)

YAML・TOML・JSON を貼り付けるだけで構文チェック・整形・相互変換。エラーは行と列で示し、「no が false になる」などの型の落とし穴と、変換で失われるものを事前に警告します。データは端末の外へ送信しません。

アップロードなしベータ

秘密情報スキャナー(Secret Scanner)

コードや設定ファイルを貼る・ドロップするだけで、公開前に消すべき秘密情報の候補を行番号つきで一覧します。値は既定で伏せ字、*** に置き換えたコピーも作れます。あくまで補助ツールで、検出漏れがないことは保証しません。

アップロードなし

curl解析・コード生成

Chrome や Firefox の「cURL としてコピー」を貼ると、メソッド・URL・ヘッダー・Cookie・本文を表にし、12 種類のコードへ変換します。リクエストは送らず、すべてブラウザの中で処理します。Authorization や Cookie は共有前に伏せられます。

アップロードなしベータ

Mermaid エディタ(Mermaid Studio)

Mermaid のコードを左に書くと、右に図が出ます。フローチャート・シーケンス図・クラス図・ER 図などのテンプレートから始められ、SVG・PNG(倍率・背景を指定)で保存できます。描画はブラウザの中だけで行い、コードは送信されません。

アップロードなしベータ

Dockerfile Studio

Dockerfile を貼り付けると、構文・ステージ・よくある誤りを調べ、秘密らしい値や curl | sh などの確認したい点を一覧にします。整形と、Node.js・Python・Go・静的サイト・Java の雛形の生成もできます。ビルドはせず、入力は端末の外へ送りません。

アップロードなしベータ

nginx Config Studio

リバースプロキシ・SPA・PHP-FPM・HTTP から HTTPS への転送などの設定をフォームから作り、手元の nginx.conf を貼ると構文エラーや見落としやすい点を一覧にします。ブラウザの中だけで動き、nginx は実行しません。

アップロードなしベータ

最終更新: