带有Java的Docker侦听端口并访问MacOS上的端口

时间:2018-12-14 14:52:42

标签: java macos docker server port

我正在MacO的docker容器中运行Java-App。

此Java-App一方面具有Web服务器,另一方面具有数据库访问权限。
我正在运行的容器仅包含带有正在运行的Jar的Java。
数据库在容器外部。

在主机上,我可以访问数据库127.0.0.1:5400。

通过我到目前为止尝试的设置,我无法访问docker中的Web服务器。

我也不知道我可以访问哪个地址。

我通过以下方式运行docker:

docker run --rm --net=host -v `pwd`/:/mnt -v `pwd`/logs:/logs airdock/oracle-jdk:jdk-8u112 java -jar /mnt/MyJava.jar /mnt/application-localdocker.properties

它被配置为侦听端口80。日志指出它可以正常启动并且可以侦听。以及数据库已连接。

由于我使用了--net=host用户,因此我被回答说,使用-p 9090:80没有意义,因此不适用。所有端口均已完全传递到主机系统。那是有道理的。

尽管如此,在正确启动Docker容器后,我无法访问127.0.0.1:80,也看不到原因。

我想要的是同时在我的docker容器中有一个侦听端口(在docker-inside外部)和一个访问端口(在docker-inside到外部),而没有更大的模糊感。但这似乎并不容易。

讨论相同的内容:https://forums.docker.com/t/accessing-host-and-exposing-port-same-time-possible-or-not/23914

0 个答案:

没有答案