開発者 / Docker

docker run→Docker Compose変換ツール

docker runコマンドをcompose.yamlファイルに変換します。ポート、ボリューム、環境変数、ネットワーク、再起動ポリシー、ヘルスチェック、GPUなどに対応し、同様にComposeサービスをdocker runに戻せます。変換できないオプションも一覧表示します。

docker run→Docker Compose変換ツール: コマンドは、引用符やエスケープを考慮してシェルと同じように分割され、各オプションがComposeのキーに割り当てられます。-pはports、-vと--mountはvolumes、-eはenvironment、--restartは再起動ポリシー、--networkはnetworks、--health-cmdはhealthcheck、--gpusはデバイス予約に変換されます。ほかにも約40種類のオプションに対応しています。名前付きボリュームとネットワークにはトップレベルのエントリが追加されます。複数のコマンドは、1つのファイル内の複数のサービスに変換されます。Composeに相当する設定がないオプションは、無視せず一覧表示します。 サーバーへのファイルアップロードは一切なく、100%ブラウザ内でローカル実行します。

カテゴリ
開発者ツール
実行回数
ブラウザ内で
コスト
無料 · 登録不要
提供状況
すぐに使えます
docker runからComposeへローカル処理

完全にブラウザ内で実行します

compose.yaml

services:
  db:
    image: postgres:16
    container_name: db
    environment:
      - POSTGRES_PASSWORD=change-me
    volumes:
      - pgdata:/var/lib/postgresql/data
    ports:
      - 5432:5432
    restart: unless-stopped
volumes:
  pgdata:

変換後の操作

docker compose configを実行してファイルを確認し、デフォルト値が入力された状態で表示します。その後、docker compose up -dを実行して起動してください。再起動時にデータベースが予期せずアップグレードされないよう、latestではなくpostgres:16のようにイメージのバージョンを固定します。

別の形式でファイルを読み取るには、YAMLからJSONへの変換を使って変換してください。コンテナ内で定期的なジョブを実行する場合は、cronの解説でcron式を確認できます。

ボリュームとデータ

pgdataのような名前付きボリュームはDockerが管理し、docker compose downを実行しても残ります。一方、./dataのようなパスはホスト上のフォルダーです。削除すると元に戻せないため、docker compose down -vで名前付きボリュームを削除する前にバックアップしてください。

使い方

  1. 1つ以上のdocker runコマンドを貼り付けます。バックスラッシュによる行継続にも対応しています。
  2. compose.yamlと、変換できなかったオプションを確認します。
  3. コピーまたはダウンロードするか、変換方向を切り替えてComposeファイルをdocker runコマンドに変換します。

プライバシーと制限事項

すべての処理はブラウザ内で行われます。パスワードが含まれている可能性のあるコマンドがアップロードされることはありません。

関連ツール

よくある質問

docker runではなくComposeを使う理由は何ですか?

Composeファイルを使うと、構成全体を1か所に記録できます。内容を読みやすく、バージョン管理しやすく、長いコマンドをシェルの履歴に残す代わりにdocker compose upで起動できます。また、ネットワークやボリュームとともに複数のコンテナをまとめて起動できます。

--rmと-dはどうなりますか?

Composeには--rmに相当する設定がないため、コンテナはdocker compose downで削除します。-dはdocker compose up -dを実行するときに指定するため、ファイルには含まれません。

ネットワークがexternalと表示されるのはなぜですか?

docker run --networkは、すでに存在するネットワークを使用します。そのため、変換後のファイルでも同じようにそのネットワークを参照します。Compose自身にネットワークを作成させたい場合は、external: trueを削除してください。

パスワードをファイルに残してもよいですか?

パスワードやキーには、バージョン管理の対象外にしたenv_file、またはDocker secretsを使うことをおすすめします。変換ツールはコマンドに含まれていた内容を保持するため、コミットする前にenvironmentセクションを確認してください。

無料ツール · ブラウザ内で · アカウント不要