У меня есть приложение, которое состоит из трех серверов, по одному компоненту на каждом.
- Сервер1 = Компонент А
- Сервер2 = Компонент B
- Сервер3 = Компонент C
Когда вы запускаете установку на Сервер1, заставляет установить Компонент B на Сервер2 и Компонент С на Сервер3, в дополнение к установке Компонента А на Сервер1.
Если бы я начал установку на Server2, он также установил бы другие компоненты на соответствующих серверах.
Это также означает, что должны быть запущены «удаленные» серверы, так как он подключается к этим удаленным серверам через SSH для копирования файлов и их установки. Да, он также отказывается устанавливать приложение на узел, если обнаруживает, что он уже есть.
Это просто то, как это работает, чтобы сделать его «более легким» для неопытного народа, но труднее ограничить его. Поставщик знает, и, возможно, это изменится в будущем, но сейчас это так.
Я пытаюсь разработать стратегии для создания отдельных изображений для каждого компонента. Несколько мыслей:
- Запустите установку на каждом сервере и просто создайте образы таким образом. Это означало бы, что мне нужно будет организовать начальные свежие удаленные контейнеры при создании образа для каждого компонента.
- Запустите 3x свежих контейнеров, запустите установку на любом из них, затем используйте docker commit для создания образов. Сработало бы, но мне не нравится, что невозможно кодифицировать все шаги контейнера.
- Может быть, многоступенчатый Dockerfile? Я не совсем уверен в этом.
- Что-то еще?
Цените любую помощь здесь.