docker run→compose変換

docker run のコマンドを貼ると docker-compose.yml を組み立てます。反映できなかったオプションは下に一覧で出します。

docker-compose.yml

      

反映できなかったオプション 0

    ありません。

    確認してほしいこと 0

      ありません。

      Compose Specification の形式で出力します(version キーなし)。入力はブラウザの中だけで処理し、送信しません。本番で使う前に docker compose config で確認してください。

      docker run→compose変換でできること

      docker run のコマンドを貼るだけで docker-compose.yml を作ります。手元のコンテナを compose 管理に移すときの下書きに使えて、反映できなかったオプションは一覧で確認できます。

      使い方

      1. 「docker run コマンド」の欄にコマンドを貼ります。\ で続く複数行やクオートもそのまま貼れます。試すだけなら「例: Web」「例: DB」「例: 未対応あり」を押します。
      2. 右の docker-compose.yml が入力に合わせて更新されます。ポートや特殊文字を含む値は自動でクオートされます。
      3. 「反映できなかったオプション」と「確認してほしいこと」を読み、必要なら手で直します。
      4. 「YAMLをコピー」でコピーし、docker compose config で確認してから使います。

      計算の仕組みと注意点

      よくある質問

      docker run の -d は docker-compose.yml のどこに書きますか?

      書きません。起動時に docker compose up -d で指定します。-d を含むコマンドを貼ると「確認してほしいこと」に同じ説明が出ます。

      ポート番号はなぜクオートするのですか?

      YAMLでは 22:22 のような値が60進数の数値として読まれる場合があるためです。このツールは ports を常にダブルクオートで出力します。

      docker run で使っていた名前付きボリュームのデータは引き継がれますか?

      そのままでは引き継がれません。compose は「プロジェクト名_ボリューム名」という別の名前で作ります。引き継ぐなら、トップレベル volumes の該当ボリュームに external: true を足してください。

      -P や --cidfile はなぜ変換されないのですか?

      compose に対応するキーがないためです。黙って捨てず「反映できなかったオプション」に理由つきで表示します。「例: 未対応あり」で表示を確かめられます。