Как разрешить имена хостов контейнерам Docker с хоста?
Я понимаю, что Docker запускает магические dns на 127.0.0.11, поэтому я решил, что попробую
nslookup mycontainername 127.0.0.11
где mycontainername
- это, конечно, имя контейнера, к которому я пытаюсь получить доступ. Однако это истекло.
;; connection timed out; no servers could be reached
Что я делаю неправильно? Я на Докере 1.10.3. Если это помогает, я подтягиваю кучу контейнеров, используя docker-compose
1.6.2.
РЕДАКТИРОВАТЬ Это дубликат Docker 1.10, чтобы получить доступ к контейнеру по имени хоста от хоста
Ответы
Ответ 1
В документации это означает, что это работает только в том случае, если вы явно создали сеть и привязали к ней контейнеры. Попробуйте что-то вроде:
docker network create -d bridge --subnet 172.25.0.0/16 isolated_nw
docker network connect isolated_nw mycontainername
И посмотрите, можете ли вы использовать 127.0.0.11 (работал у меня в версии 1.10.3)
Для получения дополнительной информации см. этот билет.