java - 如何让 docker 容器向同一网络中运行的另一个容器发送 HTTP 请求

标签 java docker spring-boot

我有两个应用程序 - app1 正在 localhost:8081 上运行。 app2 正在 localhost:8082 上运行。 App1 向 app2 发出 HTTP GET 请求,app2 返回一个简单的 json 响应。当我在 Mac 上本地运行这两个应用程序时,这一切都工作得很好,因为我让 app1 向“http://localhost:8082”发送 GET 请求。

但是当容器化这两个应用程序(并在同一网络上运行它们)时,app1 应该将 GET 命令发送到哪个 url?它被硬编码为“http://localhost:8082”,并且 8082 端口在 app2 容器中公开,但未发生通信。

最佳答案

如果您有两个容器通过 docker-compose 在同一网络中运行,您可以在 docker-compose.yml 文件中对其指定的名称执行请求。如果不使用 docker-compose,您可以使用 --name 标志和 docker run 命令来命名容器。

关于java - 如何让 docker 容器向同一网络中运行的另一个容器发送 HTTP 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53273179/

相关文章:

spring-boot - 如何在 spring boot 中配置两个 Kafka StreamsBuilderFactoryBean 实例

java - 如何删除或重新安排作业?

docker exec TERM 设置

java - 通过文本文件读取货币金额并计算钞票面额

cloud - VM 镜像和 Docker 镜像有什么区别?

unix - tmpfs docker 容器中没有足够的可用空间

java - 如何根据函数的输出在 @Query 中使用查询字符串

java - 我执行了dao层的mybatis update方法,但是数据库没有更新

java - 扫描仪在使用 next() 或 nextFoo() 后跳过 nextLine()?

java - 各种 Log4j 类上的不同 ClassNotFoundException