Я пытаюсь запустить встроенный сервер undertow внутри контейнера докера. Когда я запускаю следующий фрагмент кода на своем компьютере, я могу подключиться к конечной точке http, которая возвращает «Hello World». Но я не могу достичь конечной точки, когда я запускаю тот же код внутри контейнера докера.
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