![](/img/trans.png)
[英]How can I connect to server socket running inside a docker container from another machine?
[英]Can't connect to embedded undertow server running inside docker container
我正在嘗試在docker容器中運行嵌入式底層服務器。 當我在我的機器中運行以下代碼片段時,我能夠點擊返回“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();
}
}
我從以下鏈接http://undertow.io/undertow-docs/undertow-docs-1.4.0/index.html找到了上面的例子
以下是我執行以構建和運行容器的所有命令。
docker build -t z .
docker run -d -p 8080:8080 -t z
上流服務器無法將http偵聽器與我的機器的IP綁定。 而不是指定
localhost
我換了
InetAddress.getLocalHost().getHostAddress()
它將偵聽器與我的機器的IP綁定在一起。 現在我可以點擊端點了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.