Мы используем docker-compose
, чтобы собрать несколько контейнеров и связать их вместе.Предоставление стабильного URL-адреса для доступа к контейнеру-докеру из другого контейнера-докера
Мы должны быть в состоянии сохраняться URL в службе, запущенной в containerA в нашем хранилище данных, чтобы мы могли посмотреть его на более поздний срок, и использовать его для доступа к сервису из containerB. containerB не должен знать, работает ли служба как локальный контейнер или нет, он должен просто иметь возможность захватить URL-адрес и использовать его.
Мы можем получить адрес связанного контейнера с использованием envoronment переменных стандартным образом, например
http://$CONTAINER_A_SERVICE_PORT_9000_TCP_ADDR:$CONTAINER_A_SERVICE_PORT_9000_TCP_PORT/someresource
, но я понимаю, что если мы сохраняем этот адрес и попытаться получить доступ к службе после перезагрузки контейнеров , docker, возможно, назначил новый порт и/или ip для контейнера, и адрес мог быть инкорпорирован.
В настоящий момент все, о чем я могу думать, представляет порт контейнера на главной машине и использует общедоступный адрес хоста в качестве стабильной конечной точки для контейнера, но мне бы очень хотелось, чтобы решение, которое избегало выхода на общественной сети.
Любые идеи были бы весьма признательны.
Я хотел бы использовать имя хоста serviceB, который получает положить в '/ и т.д./hosts'. – dnephin
Спасибо! который будет работать при условии, что я не изменю свой контейнер, связывающий имена/псевдонимы. В значительной степени именно то, что мне нужно. Если вы разместите свой комментарий в форме ответа, я приму это! – Russell