Websocket不附加到docker集装箱

我有一个包含OpenJDK8的Docker容器和一个通过websockets提供服务的webapp。 我有一个testing这些ws服务的Java客户端。 他们在docker以外工作良好。

但是当我把我的web应用程序放入docker镜像并运行webapp时,外部testingjava客户端无法连接。 这是错误:

Exception in thread "main" java.lang.RuntimeException: java.io.EOFException: XNIO000812: Connection closed unexpectedly at org.nustaq.kontraktor.remoting.websockets.JSR356ClientConnector$WSClientEndpoint.<init>(JSR356ClientConnector.java:104) at org.nustaq.kontraktor.remoting.websockets.JSR356ClientConnector.connect(JSR356ClientConnector.java:73) at org.nustaq.kontraktor.remoting.base.ActorClient.connect(ActorClient.java:72) at org.nustaq.kontraktor.remoting.websockets.WebSocketConnectable.lambda$connect$36(WebSocketConnectable.java:66) 

这是我的Dockerfile:

 FROM alpine:3.4 RUN apk --update add openjdk8 CMD ["/usr/bin/java", "-version"] # This copies to local fat jar inside the image ADD target/quokka-0.1-SNAPSHOT.jar /quokka-0.1-SNAPSHOT.jar ADD storage/*.mmf /storage/ ADD cwift.properties / # What to run when the container starts VOLUME ["/web"] ENTRYPOINT [ "java", "-jar", "../quokka-0.1-SNAPSHOT.jar" ] # Ports used by the app EXPOSE 8080 

以下是用于validation端口曝光的命令和输出:

 david@david-desktop:~/csrepo/cwift$ docker exec suspicious_roentgen ps -Af PID USER TIME COMMAND 1 root 1:10 java -jar ../quokka-0.1-SNAPSHOT.jar ./cswift.properties 38 root 0:00 ps -Af david@david-desktop:~/csrepo/cwift$ docker exec suspicious_roentgen netstat -nap|grep 8080 tcp 0 0 ::ffff:127.0.0.1:8080 :::* LISTEN 1/java david@david-desktop:~/csrepo/cwift$ sudo netstat -nap |grep 8080 tcp6 0 0 :::8080 :::* LISTEN 28506/docker-proxy 

我用这个运行它:

 docker run -v /home/david/csrepo/cwift/web:/web -p 8080:8080 --rm cswebapp ./cwift.properties 

想法?