Docker прикрепить к нескольким контейнерам - PullRequest
1 голос
/ 22 февраля 2020

Моя проблема заключается в следующем: я выполняю docker -компонент, используя make-файл, где я раскручиваю группы контейнеров в al oop.

В результате я получаю несколько групп, названных одинаково:

node1_service1_1, node1_service2_1, node1_service3_1,
node2_service1_1, node2_service2_1, node2_service3_1,
node3_service1_1, node3_service2_1, node3_service3_1

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

node2_service1_1   | PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
node2_service1_1   | To do so, start the server, then issue the following commands:
node2_service3_1   | Enabling web-ui
node2_service1_1   | 
node2_service3_1   | Enabling plugins on node rabbit@dc37ca9dfa34:
node2_service3_1   | rabbitmq_management

Однако мне нужно запустить docker -compose в отдельном режиме (-d), чтобы раскрутить все группы перед запуском моего реального приложения. Я также заметил, что использование -d намного быстрее, чем его использование.

Моя первая идея была просто docker attach для нескольких контейнеров. К сожалению, одновременно поддерживается только один контейнер.

Затем я попытался сгруппировать команды в bash следующим образом:

{ docker attach --no-stdin=true node2_service1_1 \
& docker attach --no-stdin=true node2_service2_1 \
& docker attach --no-stdin=true node2_service3_1; }

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

Вопрос: Есть ли способ присоединения к нескольким (отсоединенным) контейнеры таким же образом, как если бы они были «прикреплены» к ним при работе docker -составить в несвязанном режиме? Альтернативные предложения приветствуются.

1 Ответ

1 голос
/ 22 февраля 2020

Я полагаю, что вам не нужно подключаться к этим контейнерам, если вам нужны только их выходные данные (журналы). docker-compose позволяет просматривать журналы с цветовой кодировкой из всех работающих контейнеров с помощью команды docker-compose logs. Объедините его с регулярными флагами для команды docker-compose (файл, проект и т. Д. c.), И вы получите журналы с цветовой кодировкой нескольких "узлов".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...