Есть у меня примерно такой docker-compose.yml конфиг, который на данный момент все приложения запускает на одном сервере:
version: '2'
services:
nginx:
image: nginx:latest
ports:
- "80:80"
volumes:
- ./dockerfiles/nginx:/etc/nginx/conf.d
- ../static:/static
- ../media:/media
depends_on:
- web
web:
build: ./dockerfiles/web/
command: bash -c 'uwsgi --ini ./settings/uwsgi_conf.ini'
depends_on:
- db
- solr-docker
- redis-docker
- celery
volumes:
- ./web:/web
- ../static:/static
- ../media:/media
solr-docker:
image: solr:latest
volumes:
- ./dockerfiles/solr/default:/opt/solr/server/solr/mycores/default
db:
image: postgres:latest
Я хочу вынести Solr на 2ой сервер. После чтения статей по данному вопросу, где предлагается использовать связку Docker Machine + Swarm + Compose, в голове образовалась каша. Можно ли как то все сделать проще?
На stackoverflows нашел предложение использовать extra_hosts:
solr-docker:
image: solr:latest
volumes:
- ./dockerfiles/solr/default:/opt/solr/server/solr/mycores/default
extra_hosts:
- "solrhost:111.222.333.44"
Но данный вариант не работает. Возможно я его не так готовлю. Может чтото нужно на 2ом сервере сделать (на котором хочу запустить Solr)?
Compose привлекает тем, что настраивается все в одном файле. Если нельзя реализовать проект на нескольких серверах через Compose, как это сделать максимально просто?
Буду благодарен за советы и помощь, как разнести проект на 2 сервера.
Спасибо.