我有docker-compose.yml,它正在运行一个简单的Web服务器。我想在启动命令中创建不带--scaling
的容器的多个实例。当前,这就是我启动容器docker-composer up -d --scale appserver=2
的多个实例的方式。
理想情况下,我想在docker-compose.yml中添加某种指令来执行此操作。以下是docker-compose.yml
的示例version: '3'
services:
appserver:
image: nimmis/apache
haproxy:
image: eeacms/haproxy
ports:
- '80:5000'
- '1936:1936'
environment:
BACKENDS: 'appserver_1:80 appserver_2:80 appserver_3:80'
DNS_ENABLED: 'true'
LOG_LEVEL: info
请注意,我仅尝试使用appserver
服务的多个实例。
答案 0 :(得分:2)
Docker compose不支持deploy
部分,但是如果切换到单节点Swarm模式(与运行docker swarm init
一样容易),则可以使用以下方式进行部署:
docker stack deploy -c docker-compose.yml stack_name
使用以下yaml:
version: '3'
services:
appserver:
image: nimmis/apache
deploy:
replicas: 2
haproxy:
image: eeacms/haproxy
ports:
- '80:5000'
- '1936:1936'
environment:
BACKENDS: 'appserver_1:80 appserver_2:80 appserver_3:80'
DNS_ENABLED: 'true'
LOG_LEVEL: info