在 Wildfly docker 中部署 WAR 在 IP 0.0.0.0 中打开 webapp

Deployed WAR in Wildfly docker opens webapp in IP 0.0.0.0

我有 SO Windows 10 Pro,这是我的 docker 文件:

FROM jboss/wildfly

ADD docker.war /opt/jboss/wildfly/standalone/deployments/

RUN /opt/jboss/wildfly/bin/add-user.sh admin Admin#70365 --silent

EXPOSE 9990

CMD ["/opt/jboss/wildfly/bin/standalone.sh", "-b", "0.0.0.0", "-bmanagement", "0.0.0.0"]

然后,我使用以下命令构建映像:

docker build --tag=wildfly-occoa .

下一步是执行这一行:

docker run -p 8080:9990 wildfly-occoa

控制台的最后几行是:

03:36:19,761 INFO  [org.wildfly.extension.undertow] (ServerService Thread Pool -- 75) WFLYUT0021: Registered web context: '/docker' for server 'default-server'
03:36:19,773 INFO  [org.jboss.as.server] (ServerService Thread Pool -- 43) WFLYSRV0010: Deployed "docker.war" (runtime-name : "docker.war")
03:36:19,852 INFO  [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0212: Resuming server
03:36:19,856 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0060: Http management interface listening on http://0.0.0.0:9990/management
03:36:19,859 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0051: Admin console listening on http://0.0.0.0:9990
03:36:19,859 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0025: WildFly Full 15.0.0.Final (WildFly Core 7.0.0.Final) started in 10470ms - Started 409 of 594 services (326 services are lazy, passive or on-demand)

Wildfly 控制台在 URL http://localhost:8080/console/index.html 中打开时没有问题,但是当我尝试打开已部署的 WAR 时,它会在 0.0.0.0:8080/[= 中打开 webapp 38=]

Capture of wildfly web console

Capture of war in browser

我尝试使用 localhost:8080/docker 和 127.0.0.1:8080/docker 但浏览器中的输出是 "Not found".

您的端口映射 -p 8080:9990 不正确。 WildFly 控制台和部署的应用程序通过不同的端口提供服务。所以你不能像那样强制控制台在标准 8080 端口上 运行。

查看 jboss/wildfly 图片的 usage instructions

请注意端口映射是如何定义为 -p 8080:8080 -p 9990:9990 的。这应该使您能够访问管理控制台和任何已部署的应用程序。