2017-10-06 5 views
1

Je suis en cours d'exécution dans Docker un fichier jar (macosx ordinateur hôte), et lors du démarrage je reçois ce stacktrace:essaim wildfly à docker - exception au démarrage serveur http

10:42:28,101 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-2) MSC000001: Failed to start service jboss.undertow.listener.default: org.jboss.msc.service.StartException in service jboss.undertow.listener.default: 
Could not start http listener 

rating_1  | 10:42:28,401 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([ 
rating_1  |  ("subsystem" => "undertow"), 
rating_1  |  ("server" => "default-server"), 
rating_1  |  ("http-listener" => "default") 
rating_1  | ]) - failure description: {"WFLYCTL0080: Failed services" => {"jboss.undertow.listener.default" => "org.jboss.msc.service.StartException in service jboss.undertow.listener.default: Could not start http listener 
rating_1  |  Caused by: java.net.SocketException: Protocol family unavailable"}} 
rating_1  | 10:42:28,405 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([("subsystem" => "ejb3")]) - failure description: {"WFLYCTL0288: One or more ser 
vices were unable to start due to one or more indirect dependencies not being available." => { 
"Services that were unable to start:" => [ 
"jboss.ejb.default-local-ejb-receiver-service", 
"jboss.ejb3.ejbClientContext.default", 
"jboss.ejb3.localEjbReceiver.value" 
], 
"Services that may be the cause:" => ["jboss.remoting.remotingConnectorInfoService.http-remoting-connector"] 
}} 

Il semble, qu'il ne peut pas commencer le serveur http, que certains services sont installés? Est-ce que j'utilise l'image docker correcte?

Dockerfile:

FROM java:8 


RUN mkdir -p /var/rating 
ADD *.jar /var/rating 

#ADD tomcat-users.xml /usr/local/tomcat/conf/ 

EXPOSE 8095 
EXPOSE 8096 
CMD ["java", "-jar", "/var/rating/ratingFacade-swarm.jar", "-server", "-d 64"] 

que je fais sans doute quelque chose de mal, mais je ne sais pas quoi! Est-ce peut-être une question d'interface ou de socket?

Edit:

Ce sont les variables d'environnement que je passe dans docker-compose.yml:

JAVA_TOOL_OPTIONS=-Xdebug -Xrunjdwp:transport=dt_socket,address=8096,server=y,suspend=n -Dfile.encoding=UTF-8 -Xms128M -Xmx384M -XX:TargetSurvivorRatio=90 -XX:MaxTenuringThreshold=8 -XX:+CMSParallelRemarkEnabled -XX:+CMSClassUnloadingEnabled -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+ScavengeBeforeFullGC -XX:+UseBiasedLocking -Dswarm.project.stage=stage -Dswarm.http.port=8095" 

Répondre

3

La partie java.net.SocketException: Protocol family unavailable semble le plus important. J'essaierais d'ajouter le -Djava.net.preferIPv4Stack=true habituel pour voir si cela aide.

+0

tnx, je l'essaie tout de suite! –

+0

Oui, maintenant je reçois quelque chose du serveur, même si c'est un 404 :) tnx –

+0

Juste une question, pourquoi ai-je dû espacer la pile ipv4 explicitement? –