これを私のDocker Swarmで実行したいと思います。
docker run --rm -it progrium/stress --cpu 2 --io 1 --vm 2 --vm-bytes 128M --timeout 10s
docker-compose.ymlが必要です
このdocker imageをdocker composeで使用してそれらのパラメーターを渡すにはどうすればよいですか?
Composerize は、runコマンドをcomposeに部分的に変換するのに役立ちます。
ここで理解を深めるために、docker-compose.yml
のコンポーネントについて説明しました。
image:
-コンテナの実行に使用される画像
name:
-サービスまたはコンテナの名前
command
-コンテナが起動した後に実行するコマンド
volumes
-マウントしたいvoulume
上記の値から実行コマンドを構成に変換する
version: "2/3/3.3/3.6" # based on the docker version you use
services:
stress: # Service name, user defined
image: progrium/stress
command: '--cpu 2 --io 1 --vm 2 --vm-bytes 128M --timeout 10s'
最初の2つのlinnesはどのような構成でもcommanです。
Docker composeでは、command
プロパティが目的を解決します。
docker-compose.yml
version: "2"
services:
stress:
image: progrium/stress
command: '--cpu 2 --io 1 --vm 2 --vm-bytes 128M --timeout 10s'
docker-compose asでファイルを作成
docker-compose up -d
構成ファイルへの複数のコマンド
command: bash -c "cd app/ && npm start"
ファイルを作成するマルチラインコマンド
command: > bash -c "cd app/ && npm start"
<embed src="https://composerize.com/" width="100%" height="700">
ヘルパーとしてこの気の利いた小さなツールを使用してください: https://composerize.com/
または、前の回答で強調表示されている手動の手順に従ってください...
Composeファイルの command または entrypoint キーワードを使用できます。 docker run
コマンドをdocker-compose.ymlファイルの宣言に変換するのは簡単です。
Docker-compose.ymlでcommand
キーワードを使用するには:
services:
stress:
image: progrium/stress
command:
- --cpu 2
- --io 1
- --vm 2
- --vm-bytes 128M
- --timeout 10s
Docker-compose.ymlでentrypoint
キーワードを使用するには:
services:
stress:
image: progrium/stress
entrypoint:
- <entrypoint name to override the original one>
- --cpu 2
- --io 1
- --vm 2
- --vm-bytes 128M
- --timeout 10s
このツール は、docker runコマンドをdocker-compose機能のほとんどに変換するのに役立ちます