This is not a duplicate of From inside of a Docker container, how do I connect to the localhost of the machine?. I have already attempted the suggestions in the aforementioned thread, and I know how to fix this problem in general. This problem seems to be specific to quarkus applications. I manage to make everything work except for the quarkus server.
Context
- I have obtained a quarkus application template from https://code.quarkus.io/, of which includes a shell file called mvnw, which I can use to start a development server by executing./mvnw quarkus:dev -Dquarkus.http.host=0.0.0.0 -Dquarkus.http.port=9000 -Ddebug=9001in the host terminal.
- I can now go to http://localhost:9000in the browser. I can also docurl localhost:9000and see that I get the HTML/CSS/JS code.
Issue
I cannot reach the quarkus server from within a docker container. I have tried:
- Run a base curlcontainer:docker run --rm -it --name curl --entrypoint sh curlimages/curl:latest
- From within the container I attempt the following:
- curl host.docker.internal:9000-> Connection refused
- curl localhost:9000-> Connection refused
- curl (the machine host name here):9000-> Operation timed out (this happens for all ports)
- Run the container with --network=host, and usecurl localhost:9000-> Connection refused
- Various other suggestions from the post mentioned at the top, but all get connection refused
 
However, I can connect to the JVM debug port using curl host.docker.internal:9001 (Empty reply from server), and I can also connect to a Python http fileserver (hosted from host) using the host.docker.internal hostname. It seems to be that it is only the quarkus server that I cannot connect to.
What I want: A reliable way to connect to the host's quarkus container from within a docker container
System info
- OS: Windows 11 21H2 22000.493 , but I do everything within WSL2 (Ubuntu 20.04.3 LTS).
- CPU: Intel Core i7-10850H
 
    