web-dev-qa-db-ja.com

docker runコマンドをdocker-composeに変換する

これを私の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で使用してそれらのパラメーターを渡すにはどうすればよいですか?

8

Docker runコマンドを構成ファイルに変換する

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">
5
Jinna Balu

ヘルパーとしてこの気の利いた小さなツールを使用してください: https://composerize.com/

または、前の回答で強調表示されている手動の手順に従ってください...

9
Thiago Silva

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
2
Yuankun

このツール は、docker runコマンドをdocker-compose機能のほとんどに変換するのに役立ちます

enter image description here

1
anish