java - 从 docker 容器访问 localhost
问题描述
我有一个任务是在 localhost:8081、localhost:8082 和 localhost:8083 上设置 3 个 docker 容器,我已经成功完成。然后最后一个容器是 localhost:8080 上的 Java 应用程序,它需要发送请求使用 HttpClient 和 HttpRequest 到其他容器我已经用“docker network create web_server --driver brigde”创建了一个桥,我用 --network web_server 运行容器,这样他们可以使用容器名称进行通信并且它可以工作. 但是我的老师告诉我将请求发送到 http://localhost:8081、8082 等。有没有办法让容器访问 localhost?我在 linux 上使用 docker
解决方案
在 Linux 容器上,您可以使用 IP 地址访问主机172.17.0.1
。因此,从您的 Java 应用程序内部,您应该能够访问 和 上的其他172.17.0.1:8081
容器。这相当于在您的主机上使用,和。172.17.0.1:8082
172.17.0.1:8083
localhost:8081
localhost:8082
localhost:8083
推荐阅读
- javascript - window.getAttention() 发生了什么,我可以改用什么?
- ios - 如何使用 Swift 在 iOS 中将音频格式从 mp3 转换为 wav?
- c# - 如何运行两个while循环?
- reactjs - 如何在 React/JSX 中触发 onSelectStart?
- android - 如何使用 android studio 中的按钮更改图像?
- c++ - 初始化指针但未获得相同的零值
- r - R中的“指定的时间序列参数无效”错误
- python - Sci-Py 优化不考虑给定界限的最小化函数解决方案
- .net-core - 如何卸载 .NetCore 3.0.0-preview7?
- c++ - Cmake找不到boost线程库