Проект эвакуационной градирни here. Работает нормально, когда я запускаю bootRun
, Эврика привязывается к порту 8080 на локальном хосте, доступном из браузера, все счастливы. При запуске в качестве контейнера Docker приложение, похоже, запускается без каких-либо исключений, но я не могу получить доступ к консоли Eureka из браузера на порту 8080. Я получаю 404.Сервер Eureka недоступен для развертывания традиционной войны В Докере
Я знаю, что есть несколько примеров Eureka on Docker но никто не использует град и традиционное развертывание.
Command я использую, чтобы начать контейнер: docker run -it -p 8080:8080 -e DOCKER_HOST="$(echo $DOCKER_HOST | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}')" xxx
Docker двигатель 1,9 с машиной Докер на Mac.
Вход Отрывок:
Adding replica node: http://192.168.99.107:8080/eureka/
2015-12-26 03:35:42.959 INFO 7 --- [ost-startStop-1] n.a.javaee.discovery.DiscoveryServer : Started DiscoveryServer in 8.167 seconds (JVM running for 12.804)
application.yml:
server:
port: ${PORT:8080}
eureka:
instance:
hostname: ${DOCKER_HOST:localhost}
preferIpAddress: true
client:
registerWithEureka: false
fetchRegistry: false
serviceUrl:
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
Dockerfile:
FROM abhijitsarkar/docker:tomcat8
ADD build/libs/*.war $CATALINA_HOME/webapps/discovery.war
CMD ["supervisord", "-c", "/etc/supervisord.conf"]
DiscoveryServer:
@SpringBootApplication
@EnableEurekaServer
public class DiscoveryServer extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(DiscoveryServer.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(DiscoveryServer.class);
}
}
Darn, в традиционном развертывании, корень контекста изменяется на 'обнаружение'. Это было то, чего мне не хватало. И я потратил несколько часов на изучение сетевых возможностей Docker :( Спасибо, доктор Сиер. В отдельном примечании было бы неплохо иметь различные параметры Eureka и Config, перечисленные где-то, например, для загрузки. Я нашел их в «EnvironmentRepositoryConfiguration», но копание исходного кода утомительно. –