gpt4 book ai didi

java - 如何将 HTTP 请求发送到在 docker 容器中运行的服务器?

转载 作者:搜寻专家 更新时间:2023-11-01 01:09:53 26 4
gpt4 key购买 nike

我已经设置了一个 java 应用程序,它充当 Web 服务器并处理 http 请求。我已经测试过它在容器外工作(确实如此),但是在容器中时我的请求似乎没有到达它。

服务器监听3971端口,Dockerfile如下所示:

FROM java:8
ADD VaultServer /
EXPOSE 3971
EXPOSE 3972
ENTRYPOINT ["java", "-jar", "VaultServer.jar"]

调用根地址应该返回一些东西(通常我会发送一个 GET 到 http://localhost:3971/)。

我已经尝试用 docker-machine 的 ip 地址替换“localhost”,也尝试用检查我的服务器正在运行的容器时获得的 ip 地址,但似乎都没有响应。当我调用 docker-machine 的 ip 地址时,我得到 ERR_CONNECTION_REFUSED。我还需要启用其他功能吗?

最佳答案

您正在执行 EXPOSE 3972,它会将端口暴露给其他链接容器,但不会暴露给主机

将端口暴露给你做的主机......

docker run -p 3972:3972 ....... etc

你也可以做...

docker run -P

这会将 EXPOSE 公开的所有端口公开给主机(这不是默认设置 - 您必须在此处使用 -P 标志)

关于java - 如何将 HTTP 请求发送到在 docker 容器中运行的服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36338538/

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