Docker Run → Compose
docker runコマンドをdocker-compose.ymlに即座に変換。ポート・ボリューム・環境変数・ネットワーク・再起動ポリシーなど対応。
使い方
- 左パネルに docker runコマンド を貼り付けます(またはサンプルをクリック)。
- 変換 をクリックします。
- 右パネルで生成された docker-compose.yml を確認します。
- コピー をクリックして
docker-compose.ymlとして保存します。
対応フラグ
—name NAME— サービス名-p / —publish HOST:CONTAINER— ポートマッピング-v / —volume HOST:CONTAINER[:mode]— ボリュームマウント-e / —env KEY=VALUE— 環境変数—network NETWORK— ネットワーク—restart POLICY— 再起動ポリシー(no・always・unless-stopped・on-failure)—cap-add CAP— ケーパビリティ追加—memory MEM— メモリ制限(例:512m、1g)—cpus N— CPU制限
主な用途
- 移行:都度実行のdocker runを再現可能なcomposeに変換。
- ドキュメント化:READMEのrunコマンドをチーム用のcompose形式に変換。
- マルチサービス:各サービスブロックを個別に生成して1つのcomposeに統合。
- CI/CD:docker runのシェルスクリプトを宣言型composeファイルに置き換え。
FAQ
対応しているdocker runフラグは?
--name、-p/--publish(ポート)、-v/--volume(ボリューム)、-e/--env(環境変数)、--network、--restart、-d(デタッチ)、--cap-add、--memory、--cpus、イメージ名とコマンドに対応しています。
生成されるComposeファイルのバージョンは?
version 3.8形式のdocker-compose.ymlを生成します。旧来のdocker-compose CLIと新しいdocker composeプラグインの両方と広く互換性があります。
サービス名はどう決まりますか?
--nameを指定した場合はその値がサービス名になります。未指定の場合は、イメージ名からレジストリプレフィックスとタグを除き、スラッシュをアンダースコアに置換した名前が使われます。
複数行のdocker runコマンドは使えますか?
はい。バックスラッシュで改行したコマンドを貼り付けると正しく処理されます。
対応していないフラグはどうなりますか?
非対応フラグは無視されます。--security-optや--deviceなどの高度なオプションは生成後のcomposeファイルに手動で追加してください。