У меня есть приложение, которое развертывается через Marathon нескольких аналогичных серверов (в контейнерах Docker контейнеров), с использованием Marathon автоматического присвоения функции «порта». Это хорошо и хорошо, как мне нужно в моем приложении.Получить динамически assgined IP/порт из Марафона в контейнерах
Проблема заключается в том, что мои серверы, развернутые в Марафоне (PyWPS), используют код, который не очень хорошо сочетается с современной распределенной архитектурой. PyWPS-запросы для определения в статическом файле конфигурации, IP и Port для опроса из клиентских приложений.
Когда у меня есть статические IP/порты в моих контейнерах, легко запустить сценарий (внутри контейнера) при запуске контейнера, который 'sed' конфигурационный файл, чтобы поместить правильные значения IP/порта из ENVVAR, который я установил в командной строке запуска контейнера.
Проблема возникает, когда дело доходит до использования недетерминированного динамического IP/порта. Есть ли способ поймать эту информацию в контейнере, когда он развернут марафоном, как вид событие «container_start» hook?
Спасибо Тоби за твое мнение. Я, наконец, исправил код моего сервера, поскольку в моем случае он был более простым. но ваше решение будет работать. – matt
@matt Можете ли вы немного объяснить? Каким образом вы применили патч? – Tobi
[Здесь] (http://gis.stackexchange.com/questions/214454/dynamic-ips-for-polling-and-results-requests-using-pywps) - это способ, которым я заплатил PyWPS, чтобы получить желаемое поведение – matt