Использование docker-compose с несколькими репозиториями
в настоящее время я борюсь с развертыванием своих служб, и я хотел спросить, каков правильный способ, когда вам приходится иметь дело с несколькими репозиториями. Репозитории независимы,но для запуска в производство все должно быть запущено.
Мои Настройки:
- Бэкэнд Репозитория Git:
- Бэкэнд Проекта Rails
- docker-compose: бэкэнд (expose 3000), db и redis
- Git-Репозиторий Внешний интерфейс
- Экспресс.сервер JS
- docker-compose: (expose 4200)
оба могут быть запущены независимо, и тест может быть выполнен CI
- Git репозиторий Nginx для производства
- необходимо подключиться к двум другим службам (той же сети docker)
- перенаправляет запросы в нужную службу
Я уже пытался включить эти две службы в качестве подмодули в репозиторий Nginx и используют docker-compose репозитория nginx, но я не очень доволен этим.
1 ответов
вы можете иметь ваши CI строить и толкать изображения для каждой службы, которую вы хотите запустить, и иметь рабочую среду запустить все 3 контейнера.
тогда ваша продукция docker-compose.yml
будет выглядеть так:
lb:
image: nginx
depends_on:
- rails
- express
ports: 80:80
rails:
image: yourorg/railsapp
express:
image: yourorg/expressapp
отметим, что docker-compose
не рекомендуется для производственных сред; вы должны смотреть на, используя Распределенные Пакеты Приложений (это все еще экспериментальная функция, которая будет выпущена в core в версии 1.13)
кроме того, вы можете организовать свои контейнеры с помощью такого инструмента, как ansible
или сценарий bash; просто убедитесь, что вы создаете сеть docker и прикрепляете к ней все три контейнера, чтобы они могли найти друг друга.
Edit: начиная с Docker v17 и устаревания DABs в пользу составить файл v3 кажется, что для одного узла в средах, docker-compose
является допустимым способом для запуска приложений с несколькими службами. Для сценарии multi-host/HA / clusterised вы можете посмотреть в любом Докер Рой для самостоятельного решения, или Настройки Облако для более PaaS подхода. В любом случае, я бы посоветовал вам попробовать его в играть-с-докер, официальная онлайн-песочница, где вы можете раскрутить несколько хостов и поиграть с кластером Роя без необходимости раскручивать свои собственные коробки.