Задать вопрос

Как можно развернуть проект на 2х серверах (часть приложений на 1ом сервере, часть на 2ом) используя Docker Compose?

Есть у меня примерно такой 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 сервера.
Спасибо.
  • Вопрос задан
  • 570 просмотров
Подписаться 8 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@danforth
Я хочу вынести Solr на 2ой сервер. После чтения статей по данному вопросу, где предлагается использовать связку Docker Machine + Swarm + Compose, в голове образовалась каша. Можно ли как то все сделать проще?

А в чем каша, собственно говоря? Docker swarm + Docker compose вариант деплоя на несколько серверов.
Есть неплохая инструкция тут: https://docs.docker.com/get-started/part4/#introduction
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы