1. ホーム
  2. docker

[解決済み] docker-compose 同じイメージに複数のインスタンスを作成する

2022-11-25 22:21:20

質問

同じイメージに対して複数のコンテナを起動する必要があります。以下のようなコンポジットファイルを作成すると、うまくいきます。

version: '2'

services:
  app01:
    image: app
  app02:
    image: app
  app03:
    image: app
  app04:
    image: app
  app05:
    image: app  

コンポジットのインスタンス数を、何度もコピペするのではなく、簡単に記載する方法はありませんか?

どのように解決するのですか?

回答を更新しました(2017年10月)

他の方もおっしゃっていますが、docker APIが変更されました。おそらくほとんどの人が見るであろうものなので、私の回答を更新しています。

docker-compose up -d --scale app=5

残念ながら、現在(バージョン3.5時点)、docker-compose.ymlファイルでは指定できません。

詳細はこちら。

彼らは scale オプションを導入しましたが、バージョン 3.0 では削除されました。また、バージョン 2.2 や 2.3 を使用するには、古いバージョンの docker-compose ツールをダウンロードする必要があります。現在のバージョンは2.2や2.3をサポートしていません (ただし、2.0や2.1はサポートしています)。 また、新しい deploy セクションに replicas: 5 を追加しましたが、これはスウォームモードのみです。

--- 古い回答 ------------------------------------------------------

docker-compose scale app=5

参照 https://docs.docker.com/compose/reference/scale/

そうすると、このdocker-composeのファイルだけが必要になります。

version: '2'

services:
  app:
    image: app