如何运行与docker的错误
我正在使用docker的应用程序。
我能够做到以下几点
-
创造肥缸
-
从那里创builddocker的形象
-
运行该泊坞窗图像
-
在8080上列出并在Docker文件中添加了EXPOSE 8080
-
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 ...
相关文档