如何运行与docker的错误

我正在使用docker的应用程序。

我能够做到以下几点

  1. 创造肥缸

  2. 从那里创builddocker的形象

  3. 运行该泊坞窗图像

  4. 在8080上列出并在Docker文件中添加了EXPOSE 8080

  5. curl我的URL从内部容器,curl localhost:8080 / sample

我正面临一些奇怪的问题,

而我的撰写文件是

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

与8080端口我无法访问该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(); 

我在谷歌链接仍然无法使其工作

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

修复了这个问题,通过监听ip到docker的容器ip地址。

我改变了我的听众

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

现在它工作正常。

“外部IP是完全不同的东西,所以总的来说你必须设置主机服务器作为docker创build的Iptables中的内部IP”

我错过了在我的参考链接( http://lists.jboss.org/pipermail/undertow-dev/2014-October/000999.html )中阅读这一行。

我的老板发现了这一点。

你如何运行你的docker图像? 你在发布端口吗?

 docker run -p 8080:8080 ... 

相关文档