spring-boot - UI 层和 Rest 服务之间的通信无法通过 dockercompose 正常进行
问题描述
前端层(React)和后端层(Spring boot:Rest API)之间的通信没有通过 docker compose 正常进行
version: "3"
services:
backend-service:
build:./backend
ports:
- 8080:8080
ui-service:
build: ./ui
ports:
- 8085:8085
因此,当我从前端层调用 https://localhost:8080 时,它工作正常。而当我从前端层调用 https://backend-service:8080 时,它给了我 net::ERR_NAME_NOT_RESOLVED
这有点不寻常。想知道我做错了什么还是设计的?
解决方案
默认情况下,Compose 会为您的应用程序设置一个网络。服务的每个容器都加入默认网络,并且可以被该网络上的其他容器访问,并且可以通过与容器名称相同的主机名被它们发现。
您可以尝试包括该container_name
字段。更多关于它在这里
version: "3"
services:
backend-service:
build:./backend
container_name: backend-service
ports:
- 8080:8080
ui-service:
build: ./ui
ports:
- 8085:8085
如果您不指定container_name
您的容器可能会被命名backend-service-1
或类似名称。您可以检查容器s name using
docker ps` 或查看撰写日志。
推荐阅读
- javascript - 如何在 Highcarts 中使用数组?
- docker - Docker Nginx 映像启动,但因错误“端口已在使用”而失败
- nginx - 运行ansible playbook时出现nginx错误
- javascript - UnhandledPromiseRejectionWarning: ReferenceError: verifyItemInStock 未定义
- c# - 异步回调抛出异常
- android-studio - Flutter 升级 1.10.7 文本输入问题,无法输入文本框
- python-3.x - 如何使用下面的代码找到排序和旋转数组中的最大元素?
- ruby-on-rails - 如何根据不同的视图确定另一个视图中的按钮 ID Rails
- python - 如何将父级发送到新的 ApplicationWindow
- swift - NETunnelProviderManager loadAllFromPreferences 零管理器返回