2016-09-23 66 views
17

我需要爲同一圖像啓動多個容器。如果我創建我的撰寫文件如下所示,它工作正常。docker-compose爲同一圖像創建多個實例

version: '2' 

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

有沒有什麼簡單的方法讓我提及撰寫的實例數量,而不是複製和粘貼多次?

回答

24

更新答案(OCT 2017)

正如其他人所提到的,搬運工API已經改變。我正在更新我的答案,因爲這是大多數人可能會看到的。

docker-compose up --scale app=5

不幸的是,我們不能在目前泊塢窗,compose.yml文件中指定這個(如3.5版)。

詳情:
他們確實在Docker-compose 2.2和2.3版本中引入了scale選項,但在版本3.0中刪除了它。另外,要使用版本2.2或2.3,您需要下載較舊版本的docker-compose工具。目前的版本不支持2.2或2.3(但支持2.0或2.1)。 還有一個新的deploy部分replicas: 5但它只適用於羣模式。

--- Old Answer --------------------------------------

docker-compose scale app=5

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

然後你只需要這個搬運工,撰寫文件

version: '2' 

services: 
    app: 
    image: app 
+0

提的是那裏的碼頭工人,撰寫文件來指定這個方式,所以,當你運行'docker-compose up',它會運行預先配置的實例數量? –

4

docker-compose up --scale app=2 

更多詳情,您可以用replica做到這一點,如https://docs.docker.com/compose/compose-file/#replicas

version: '3' 
services: 
    worker: 
    image: dockersamples/examplevotingapp_worker 
    networks: 
     - frontend 
     - backend 
    deploy: 
     mode: replicated 
     replicas: 6 
+6

副本僅用於在羣中部署。 –

+0

@KenJ確實有功能差異嗎? –

+0

是的,如果該選項被普通的'docker-compose up'命令忽略。 – giorgiosironi

相關問題