无法从本地计算机访问 docker 容器内的 Web 应用程序 运行

Not able to access web app running inside docker container from local machine

我正在使用 windows 10 企业版并且我已经测试了 docker hello world web 应用程序,它工作正常。

Docker 文件

FROM adoptopenjdk/openjdk11:latest
WORKDIR /app
COPY ./ ./
EXPOSE 3000

CMD ["java", "-jar", "app.jar"]

这些是我遵循的步骤:

  1. cd 到保存 docker 文件的目录
  2. docker 构建 .
  3. docker 运行 -d -p 3000:3000 imageid

现在在容器内,我可以在端口 3000 上使用 curl 命令访问该应用程序 但是当我执行 http://localhost:3000 时,从我的本地机器上它说页面不工作。感谢任何帮助?

进一步调试后,我发现我的服务器只绑定到本地主机,即服务器连接器只监听本地主机,这就是它只在容器内工作的原因。我将内部网络接口(解析为 ip)连同本地主机绑定到我的服务器(这是在服务器启动期间发生的),之后我能够从容器外部访问该应用程序。