我正在尝试为本地开发设置docker compose,它由两个服务组成。 OAuthServer和ClientApp。
问题在于主机上的通信必须正常。 可以在localhost:3000(ClientApp)和localhost:4000(OAuthServer)上访问这两个服务。那很简单。
但是ClientApp也必须能够直接与OAuthServer通信。这就是问题所在。标准OAuth流确实希望ClientApp始终与同一网址上的OAuthServer通信。
ClientApp到达OAuthServer的URL为oauthserver:4000
。
一种可能的解决方案是使用network_mode: host
,但不幸的是我使用的是Mac OS和it doesn’t seems to work。
您能提出任何解决方案吗?
version: '3'
services:
clientapp:
build: .
depends_on:
- oauthserver
environment:
- AUTH_SERVER_URL=http://localhost:4000
ports:
- 3000:3000
oauthserver:
image: myauthserver
depends_on:
- db
ports:
- 4000:4000
db:
image: postgres:latest
ports:
- 5432