9

Я использую Docker 1.12.1. Я получил несколько контейнеров в пользовательской сети (типа моста), каждому контейнеру присваивался --network-alias . Контейнеры правильно разрешают друг друга, но хост не может разрешить ни один контейнер по сетевому псевдониму или имени хоста.

Как вы можете сделать так, чтобы хост разрешал имена контейнеров в любой пользовательской сети?

1 ответ1

0

Docker назначает IP-адреса контейнерам во время их работы, а затем размещает внутреннюю систему DNS, чтобы контейнеры разрешали друг друга. Даже если вы выбрали мостовую сеть, обычно контейнеры обращаются друг к другу в частной внутренней сети, к которой имеют доступ только другие контейнеры в этой сети.

Чтобы получить доступ к контейнерам в этой частной сети, обычно нужно:

  • перенаправить порт на хост (например, с -p 8080:80 или что-то в этом роде)
  • Запустите клиентское программное обеспечение в контейнере в той же сети (например, docker run -it ubuntu /bin/bash с правильными параметрами для подключения к сети).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .