Я запускаю приложение Spring Boot как контейнер Docker. Пока это работает, но это приносит мне головные боли при попытке использовать Spring Cloud Consul. Он отлично читает конфигурацию у консула KVS, но проверки на работоспособность, похоже, действуют.Конфигурация работоспособности Spring Cloud Consul
Проверка работоспособности по умолчанию использует имя хоста контейнера докера, например http://users-microservice/health. Очевидно, что это не будет разрешено при доступе от консула.
Нет проблем, documentation упоминает, что вы можете использовать healthCheckPath в файле bootstrap.yml для его настройки. Это то, что я сейчас:
spring:
application:
name: users-microservice
cloud:
consul:
host: myserver.com
port: 8500
config:
prefix: API-CONFIG
profileSeparator: '__'
discovery:
tags: users-microservice
healthCheckPath: http://myserver.com:${server.port}/status
healthCheckInterval: 30s
К сожалению, эта переменная, кажется, используется в совершенно иной манере от того, что я ожидал. Это то, что консул пытается достичь:
Get http://users:18090http//myserver.com:18090/status: dial tcp: unknown port tcp/18090http
Как я могу это исправить? Есть ли какой-то недокументированный параметр конфигурации, который я должен установить?