2016-04-15 3 views
1

У меня есть веб-приложение, которое я здание, состоящее из 3-х различных частейКак объединить контейнеры докеров?

  1. Node.js API
  2. Передняя часть веб-клиент, потребляет API
  3. Node.js услуги по обработке данных

Мне нужно, чтобы 2 node.js-сервиса связывались, поэтому я использую rabbitMQ. Я хочу, чтобы все было докционировано, потому что оно упрощает развертывание и развертывание. Однако я не уверен, как структурировать файлы?

Все 3 предмета должны быть в отдельно gifub repos, поэтому вы можете развить их индивидуально и для организации в целом. Один гигантский репо был бы кошмаром.

Но как же объединить их во время выполнения? Должны ли они быть в собственном контейнере? Как мне собрать их вместе?

Должны ли они быть в одной гигантской папке?

  • App
    • узел1
      • dockerfile
    • узел2
      • dockerfile
    • докер-compose.yml

ответ

1

Если каждый из них будет в их собственном контейнере?

Да, вы объявляете их в docker-compose.yml similar to this one, за исключением того, я рекомендовал бы с помощью version 2 of that docker-compose.yml format (что предполагает Compose 1.6.0+ и Docker Engine версии 1.10.0+).

Это позволяет использовать именованные тома и network.

Как OP добавляет в комментариях:

Часть I не хватало, чтобы загрузить свои отдельные операции РЕПО с dockerhub

Если каждый репо представляет собой Docker изображение, указанное изображение, когда встроенный , действительно должны быть загружены в концентратор докеров.

+0

Это, по-видимому, означает, что у вас есть одна папка, содержащая весь ваш код, один репо. Но как это будет работать, если у вас есть 2 микросервиса в отдельных репозиториях github? –

+0

@DylanHarness Имея 2 разделенных репозитория, не имеет никакого отношения к контейнерам: до тех пор, пока среда сборки docker видит эти два репозитория, он может использовать свой контент для создания любого изображения, которое ему нужно. – VonC

+0

правый правый. Что значит «видеть» репо? Что такое «среда сборки»?Я пишу файл doccker, который git извлекает мои репозитории? –