Я обнаружил, что имя хоста не было видно другим контейнерам при использовании docker run
. Оказывается, это известная проблема (возможно, более известная функция), часть обсуждения которой:
Вероятно, нам следует добавить предупреждение в документы об использовании имени хоста. Я думаю, что это редко бывает полезным.
Правильный способ присвоения имени хоста - с точки зрения сети контейнеров - это определение псевдонима следующим образом:
services:
some-service:
networks:
some-network:
aliases:
- alias1
- alias2
К сожалению, это все еще не работает docker run
. Обходной путь - присвоить контейнеру имя:
docker-compose run --name alias1 some-service
И alias1
затем его можно будет отправлять из других контейнеров.
ОБНОВЛЕНИЕ: как указывает @grilix, вы должны использовать, docker-compose run --use-aliases
чтобы сделать определенные псевдонимы доступными.