開発者 / 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%ブラウザ内でローカル実行します。
- カテゴリ
- 開発者ツール
- 実行回数
- ブラウザ内で
- コスト
- 無料 · 登録不要
- 提供状況
- すぐに使えます
完全にブラウザ内で実行します
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つ以上のdocker runコマンドを貼り付けます。バックスラッシュによる行継続にも対応しています。
- compose.yamlと、変換できなかったオプションを確認します。
- コピーまたはダウンロードするか、変換方向を切り替えて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セクションを確認してください。
無料ツール · ブラウザ内で · アカウント不要