Могу ли я установить стабильные полные доменные имена для служб в моем стеке? - PullRequest
1 голос
/ 26 марта 2019

Я пытаюсь заставить Эрланга и Docker Swarm играть вместе, и мне тяжело.Основная проблема заключается в том, что Erlang требует, чтобы мои узлы имели полностью определенные доменные имена или, по крайней мере, что-то похожее на это (имена хостов без точек имеют тенденцию вызывать ошибки).

Ранее я использовал наложение Dockerсеть, но не стек / службы, и я буду запускать контейнеры вручную с именем "xxx.yyy".Докер разрешил бы «xxx.yyy», даже если бы узлы были на разных хостах, и Эрланг был счастлив.Теперь я хотел бы перейти на использование стека докеров, но в этом случае Docker больше не разрешается по имени контейнера, а по имени службы.Есть только одна проблема: точки недопустимы в именах служб, но если я пытаюсь назвать мои узлы Erlang как «nodename @ hostname» (без точек), это вызывает проблемы на стороне Erlang.

Я заметил, что яМожно установить свойство "hostname:" для службы, и там я могу включить точки, но это имя разрешается только внутри самого контейнера, оно не распознается по сети.

Есть ли способ, которым я могу установитьпользовательский адрес для службы Docker, который может содержать точки, которые будут правильно разрешаться на узлах других служб, и который остается стабильным, когда служба заменяет свои контейнеры?

Примечание: я пытался использовать "-sname" Эрланга", но при этом в качестве имени хоста используется идентификатор контейнера, который по-прежнему необходимо включать при подключении к другим узлам по сети, и это нестабильно, поскольку служба обновляет / перезапускает.

NB2: Я такженашел информацию здесь , что можно использовать свойство "links:", но похоже, что это не такрк на рой (возможно, только на сочинение?).

...