2017-01-14 12 views
1

Я использую подносы для своих приложений с докером.Как запускать приложение java для java с докером

Я могу сделать следующее

  1. создают жировую банку

  2. создать Docker изображение из этого

  3. Run что Докер изображения

  4. Листинг на 8080 и добавил ЭКСПОЗИЦИЯ 8080 в файле Докера

  5. свернуться мой URL из контейнера, локон локальный: 8080/образец

Я столкнулся некоторые странные проблемы,

И мой файл Compose является

version: '2' 
services: 
    login: 
    image: my-image 
    ports: 
    - "8080:8080" 

с 8080 портом I я не могу получить доступ к URL.

Мои Dockerfile

FROM openjdk:8-jre 
COPY ./target/*-with-dependencies.jar /jars/service-jar.jar 
EXPOSE 8080 
CMD java -cp /jars/service-jar.jar my.Main 

Мои Undertow Слушатель

Undertow server = Undertow.builder() 
     .addHttpListener(8080, "localhost") 
     .setHandler(path) 
     .build(); 

Я получил некоторые ссылки в Google до сих пор не в состоянии заставить его работать

http://lists.jboss.org/pipermail/undertow-dev/2014-October/000999.html

ответ

2

исправили проблему, слушая IP-к докеров контейнеров IP-адрес.

Я изменил мой слушатель

Undertow server = Undertow.builder() 
     .addHttpListener(8080, InetAddress.getLocalHost().getHostAddress()) 
     .setHandler(path) 
     .build(); 

Теперь работает нормально.

«Внешний IP нечто совсем другое. Так что в итоге вы должны установить хост-сервер для отлива как внутреннего IP в Iptables, созданных докер»

я пропустил, чтобы прочитать line в моей ссылке ссылки (http://lists.jboss.org/pipermail/undertow-dev/2014-October/000999.html).

Мой босс узнал, что.

+0

Имейте в виду, что вы столкнетесь с проблемами, если вы используете несколько докеров-сетей для этого контейнера. В этом случае вы должны использовать '.addHttpListener (8080," 0.0.0.0 ")', который в основном говорит: «слушать все ip-адреса» – ShrimpPhaser

+0

@ ShrimpPhaser, спасибо за предложение. –

0

Как вы используете ваш изображение докера? Вы публикуете порт?

docker run -p 8080:8080 ... 

Related documentation

+0

Да, я сделал это, не повезло .... –