gpt4 book ai didi

java - 无法到达本地主机 :8080 while running docker image

转载 作者:行者123 更新时间:2023-12-01 16:49:31 25 4
gpt4 key购买 nike

我使用 gradle 开发了一个小型 Java 演示 Web 应用程序,我想使用 WildFly 对其进行 dockerize。我已按照 here 的指示进行操作.

Dockerfile 是:

FROM jboss/wildfly
MAINTAINER Me <me@qmail.com>

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

ADD build/libs/my-demo.war /opt/jboss/wildfly/standalone/deployments/

当我使用 Docker 启动镜像并浏览 localhost:8080localhost:9990 时,我收到 无法访问此站点 >.

但是,当我使用 gradle appRun 时,我的应用程序在 localhost:8080 上成功运行。

缺少什么?

我使用的是 Windows 10 家庭版。我在 Ubuntu 16 下尝试过另一台笔记本电脑并遇到同样的问题。

最佳答案

三件事:

第一基础镜像EXPOSE只有端口 8080,因此为了能够访问端口 9990,您需要添加 EXPOSE 9990到您的 Dockerfile 或 --expose 9990给您docker run打电话。

第二您没有发布您的命令行调用,所以我只能猜测,但您需要将容器端口映射到主机端口,例如(包括额外的公开端口)

docker run --expose 9990 -p 9990:9990 -p 8080:8080 -it my-demo

第三如果您使用 docker-machine 工作,据我所知,Win 10 home 的情况仍然如此,您的应用程序不会位于 localhost 上,而是位于 docker-machine 虚拟机的 IP 上。您可以通过调用找出哪个IP

docker-machine ip

在 Linux 上,添加端口映射后,您的应用程序将位于 localhost:PORT 上。

关于java - 无法到达本地主机 :8080 while running docker image,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43352764/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com