可能是我对Docker的初学知识不足,但我无法使网络连接正常工作。
我正在尝试通过pr3d4t0r/mule存储库运行Mule服务器。我可以运行它,热交换应用程序,但我无法访问它。
我可以在没有Docker的情况下运行本地服务器,并且它可以完美地工作。但是使用Docker时就不行了。
当我尝试执行简单的curl命令时,我会得到“curl: (56) Recv failure: Connection reset by peer”。
curl http://localhost:8090/Sven
我尝试过通过-P和单独使用-p 8090:8090来暴露端口,但没有成功。
当Docker正在运行时,它会阻塞端口(我尝试同时运行Docker和正常服务器,但正常服务器显示端口已被占用)。
当我尝试使用像jboss/wildfly这样的另一个镜像并使用-p 8080:8080时,没有问题,它可以完美地工作。
mule-server中的应用程序将记录并响应一个简单的“Hello World”,输出表明该应用程序已部署,但尝试访问时没有任何消息或日志。
有什么建议吗?
- 4200:4200
——在我的docker-compose.yml
中已经存在,但我被迫配置我的Angular应用程序使用0.0.0.0
而不是localhost
。在这个微小的更改之后,它可以工作了。我不知道为什么Docker会这样工作。你知道为什么Docker没有进行端口转发吗? - Kasir Baratilocalhost
还是0.0.0.0
上运行应用程序,无论哪种情况,docker都会在docker ps -a
命令中显示映射的端口为0.0.0.0:8080->8080/tcp, :::8080->8080/tcp
(或者你选择的任何端口)。 - undefined