このツールが役に立ちましたか?
byteflow.tools をインストールすると、起動が速くなり、オフラインでもツールを使えます。
インストールガイドこのツールが役に立ちましたか?
byteflow.tools をインストールすると、起動が速くなり、オフラインでもツールを使えます。
インストールガイドdocker run コマンドを docker-compose.yml サービス定義に変換します。
一般的な docker run コマンドを Compose のサービス断片に変換し、ポート、環境変数、ボリューム、作業ディレクトリ、起動コマンドをレビューしやすくします。
--name、--restart、-p、--env、--volume、--network、-w などの主要オプションを読み取ります。
--rm、--init、--pull、--mount のように Compose と完全には一致しない指定は警告として残します。
イメージ名とイメージ以降の command を分けて、再利用しやすい YAML 断片にします。
Redis
docker run -d --name redis -p 6379:6379 redis:7
Postgres
docker run --name pg -e POSTGRES_PASSWORD=secret -v pgdata:/var/lib/postgresql/data -p 5432:5432 postgres:16
Node
docker run --rm -it -v "$PWD:/app" -w /app node:22 npm test
Ports
ports: - "6379:6379"
Environment
environment: POSTGRES_PASSWORD: "secret"
Warning
--mount は自動変換せず、元の指定を警告に残します。
--rm を Compose の標準動作と同じだと思う
Compose ではコンテナの保持や削除タイミングを別途確認します。
--mount の内容を確認しない
type、source、target を見直して volumes にするか判断します。
イメージ後のコマンドを落とす
npm test などの後続引数が command に残っているか確認します。
移行の出発点として使い、最終的な Compose ファイルは対象環境で検証してください。
Docker を実行しますか?
実行しません。文字列を解析して Compose 断片を生成するだけです。
--mount は変換されますか?
自動変換せず、元の指定を警告に残します。
そのまま本番に使えますか?
ネットワーク、ボリューム、環境変数、ライフサイクルを確認してから使ってください。