Zer*_*erg 4 docker docker-compose
我正在使用 docker-compose 托管 3 个服务。
version: '3.3'
services:
service-a:
container_name: service-a
network_mode: default
ports:
- 8001:8001
- 8080:8080
service-b:
container_name: service-b
network_mode: default
ports:
- 8180:8080
links:
- service-a:srv_a
service-api:
container_name: service-api
environment:
- SERVER_URL=http://localhost:8180/myserver
- 8001:8001
links:
- service-b: srv_b
Run Code Online (Sandbox Code Playgroud)
但是,尽管有链接,但作为 Spring Boot 应用程序的 service-api 无法访问 service-b。
我可以在使用浏览器时做到这一点。
我可以做些什么来调查缺乏连接的原因?
是否应该在 server_url 变量中以某种方式使用链接?
每个 Docker 容器都有自己的 IP 地址。从 service-api 容器的角度,localhost解析为自己的 IP 地址。
Docker-compose 为您的容器提供了从docker compose 服务名称解析其他容器 IP 地址的能力。
尝试:
service-api:
environment:
- SERVER_URL=http://service-b:8080/myserver
Run Code Online (Sandbox Code Playgroud)
请注意,您需要连接到容器内部端口 ( 8080) 而不是 docker 主机上发布的匹配端口 ( 8180)。
| 归档时间: |
|
| 查看次数: |
3407 次 |
| 最近记录: |