Скажем, у меня есть 3 отдельных машины:
redis$ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
redis-master * virtualbox Running tcp://192.168.99.101:2376 v1.10.1
redis-slave1 - virtualbox Running tcp://192.168.99.102:2376 v1.10.1
redis-slave2 - virtualbox Running tcp://192.168.99.103:2376 v1.10.1
Я хочу использовать docker-compose
для простого развертывания главного или подчиненного устройства на одной из этих трех машин. На данный момент мой файл docker-compose.yml выглядит так:
redis:
image: redis:3.0
sentinel:
image: redis:3.0
command: "redis-server --sentinel"
Как мне изменить файл docker-compose.yml, чтобы он работал? В конце я хотел бы иметь возможность запускать такие контейнеры, например:
$ NODE_ROLE=master docker-compose up # on master machine
$ NODE_ROLE=slave MASTER_ADDRESS=192.168.99.101:2376 docker-compose up # on slave machine 1
$ NODE_ROLE=slave MASTER_ADDRESS=192.168.99.101:2376 docker-compose up # on slave machine 2
Я видел несколько репозиториев с настройкой redis + docker + sentinel, но все они запускают все экземпляры на одном хосте докеров ...