Контейнер удаленного Docker по имени хоста - PullRequest
0 голосов
/ 13 ноября 2018

Как получить доступ к удаленному контейнеру Docker по его имени хоста?

Мне нужен доступ к удаленным контейнерам Docker по его именам хостов (или некоторым постоянным IP-адресам) для целей разработки и тестирования.Я пытался:

  • ищет какой-либо подход DNS (не нашел никаких подсказок),
  • импорт / ets / hosts (вероятно, невозможно),
  • создание туннелей(только это работает, но это очень много времени).

1 Ответ

0 голосов
/ 13 ноября 2018

Это то же самое, что и запуск любого другого процесса на хосте, Docker или не Docker: доступ к нему осуществляется через имя хоста или IP-адрес хоста и порт, который прослушивает служба (первый порт docker run -pаргумент).Контейнеры Docker не имеют внешне видимых отдельных IP-адресов больше, чем не-Docker HTTP или ssh-демоны.

Если у вас есть доступная инфраструктура DNS, вы можете настроить записи CNAME для разрешения определенных имен службк конкретным хостам, на которых они работают.

Одним из решений, которое может вам помочь, является какой-то реестр служб;в прошлом я использовал Консул с некоторым успехом.Вы можете настроить Consul с помощью некоторых проверок работоспособности или других проверок («ищите службу HTTP на порту 12345, которая отвечает на вызовы GET / вызовы»), и он будет предоставлять собственную службу DNS («хорошо, http://whatevername.service.consul:12345/ достигнет вашей службы в любое время»хосты, на которых он работает ").

Ничто в инфраструктуре Docker не поможет этому.Использование /etc/hosts определенно не является наилучшей практикой: сопоставление имени с IP-адресом необходимо синхронизировать на всех компьютерах, и вы начнете хотеть, чтобы у вас была сетевая служба, чтобы публиковать ее для вас, что и является DNSдля.

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