Разрешить Docker контейнеры с хоста

9

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

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

Dyin
источник

Ответы:

0

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

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

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