无法连接到 docker 容器内的嵌入式 undertow 服务器 运行
Can't connect to embedded undertow server running inside docker container
我正在尝试 运行 docker 容器内的嵌入式 undertow 服务器。当我在我的机器中 运行 以下代码片段时,我可以访问 returns "Hello World" 的 http 端点。但是当我 运行 在 docker 容器中使用相同的代码时,我无法到达终点。
public class HelloWorldServer {
public static void main(final String[] args) {
Undertow server = Undertow.builder()
.addHttpListener(8080, "localhost")
.setHandler(new HttpHandler() {
@Override
public void handleRequest(final HttpServerExchange exchange) throws Exception {
exchange.getResponseHeaders().put(Headers.CONTENT_TYPE, "text/plain");
exchange.getResponseSender().send("Hello World");
}
}).build();
server.start();
}
}
我从下面的linkhttp://undertow.io/undertow-docs/undertow-docs-1.4.0/index.html
中找到上面的例子
这些是我为构建和 运行 容器而执行的以下所有命令。
docker build -t z .
docker run -d -p 8080:8080 -t z
undertow 服务器无法将http 侦听器与我的机器IP 绑定。
而不是指定
localhost
我改成了
InetAddress.getLocalHost().getHostAddress()
它将侦听器与我机器的 IP 绑定。
现在我可以到达终点了。
我正在尝试 运行 docker 容器内的嵌入式 undertow 服务器。当我在我的机器中 运行 以下代码片段时,我可以访问 returns "Hello World" 的 http 端点。但是当我 运行 在 docker 容器中使用相同的代码时,我无法到达终点。
public class HelloWorldServer {
public static void main(final String[] args) {
Undertow server = Undertow.builder()
.addHttpListener(8080, "localhost")
.setHandler(new HttpHandler() {
@Override
public void handleRequest(final HttpServerExchange exchange) throws Exception {
exchange.getResponseHeaders().put(Headers.CONTENT_TYPE, "text/plain");
exchange.getResponseSender().send("Hello World");
}
}).build();
server.start();
}
}
我从下面的linkhttp://undertow.io/undertow-docs/undertow-docs-1.4.0/index.html
中找到上面的例子这些是我为构建和 运行 容器而执行的以下所有命令。
docker build -t z .
docker run -d -p 8080:8080 -t z
undertow 服务器无法将http 侦听器与我的机器IP 绑定。 而不是指定
localhost
我改成了
InetAddress.getLocalHost().getHostAddress()
它将侦听器与我机器的 IP 绑定。 现在我可以到达终点了。