我需要为同一个图像启动多个容器。如果我创建我的撰写文件,如下所示,它工作正常。
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
不幸的是,我们目前无法在docker-compose.yml文件中指定它(从版本3.5开始)。
细节:
他们确实为版本2.2和2.3版本的docker-compose引入了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
scale
命令现已弃用,您应该使用up
。
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