我有一个运行在Docker中的Spring Boot应用程序,我像这样运行我的应用程序:
docker run --rm --network host --name myapp1 myapp
但是当我试图从主机访问它时,它失败了:my_machine:~ root$ curl localhost:8081/someendpoint -v
* Trying ::1...
* TCP_NODELAY set
* Connection failed
* connect to ::1 port 8081 failed: Connection refused
* Trying 127.0.0.1...
* TCP_NODELAY set
* Connection failed
* connect to 127.0.0.1 port 8081 failed: Connection refused
* Failed to connect to localhost port 8081: Connection refused
* Closing connection 0
curl: (7) Failed to connect to localhost port 8081: Connection refused
我不明白为什么它不起作用? 在Docker内部可以正常工作。 同时,我的应用程序与外部Docker镜像/互联网的连接没有问题。 请帮忙。
docker run -p 8081:8081 --network host --name myapp1 myapp
- silentsudo--net host
选项,并添加-p 8081:8081
来发布服务端口,这样做是否有所改善?容器日志中是否有任何提示表明它正在启动的位置? - David Maze