Как получить все IP-адреса, которые сопоставляются с определенным именем хоста Docker-контейнеров в Bash - PullRequest
0 голосов
/ 22 февраля 2019

Я масштабирую несколько контейнеров Redis с помощью Docker compose и хочу найти способ получить все IP-адреса, которые соответствуют определенному имени хоста в bash.У меня есть 5 контейнеров Redis, и все они имеют имя хоста redis.Я попробовал команду getent hosts redis | awk '{ print $1 }', чтобы, надеюсь, получить все IP-адреса образов Redis Docker, но каждый раз он возвращал только один из них.Пример вывода команды без awk внутри одного из контейнеров Redis несколько раз приведен ниже:

bash-4.4# getent hosts redis
172.16.0.7        redis  redis
bash-4.4# getent hosts redis
172.16.0.6        redis  redis
bash-4.4# getent hosts redis
172.16.0.5        redis  redis
bash-4.4# getent hosts redis
172.16.0.6        redis  redis

Я хочу получить все IP-адреса в одной команде.Кто-нибудь знает, как это сделать в bash?

Редактировать: Мой вопрос другой, потому что я не пытаюсь получить IP-адрес хоста, я пытаюсь получить всеIP-адресов, которые соответствуют имени хоста, самостоятельно запустив bash-скрипт внутри контейнера.

1 Ответ

0 голосов
/ 22 февраля 2019

Я смог сделать это, используя dig redis A | grep redis внутри контейнера.Он выводит все IP-адреса в дополнение к некоторой дополнительной информации, так что теперь я смогу проанализировать их из выходных данных и добавить их в массив bash.

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