我想设置一个包含keycloak,postgres和webapp实例的Docker网络.
有没有办法在容器之间进行网络通信,还能理解oidc客户端重定向?我有一个问题,容器可以互相交谈,如果我设置OIDC与docker网络的容器名称,但后来我遇到了客户端的问题,无法连接到Docker网络之外的那些相同的URL主机.
任何人都可以指向正确的docker文档来查看可能的DNS解决方案或主机到容器通信吗?
----编辑----
澄清.容器可以在容器名称下相互通信,但客户端(即Chrome)必须使用localhost与所有内容进行通信.在我的ui Web应用程序中的OIDC连接设置中,我必须使用容器名称或localhost.如何让我的客户了解容器名称以便提出正确的请求?
version: '2'
services:
ui:
container_name: 'ui'
image: 'bdparrish/ui:0.1'
build:
context: .
dockerfile: ./ui/Dockerfile
ports:
- "8085:80"
depends_on:
- "postgres"
- "keycloak"
networks:
- auth-network
environment:
- ASPNETCORE_ENVIRONMENT=Docker
postgres:
container_name: postgres
image: 'postgres'
environment:
POSTGRES_PASSWORD: password
ports:
- "5432:5432"
networks:
- auth-network
keycloak:
container_name: keycloak
image: jboss/keycloak
ports:
- "8080:8080"
depends_on:
- postgres
environment:
DB_VENDOR: "POSTGRES"
DB_ADDR: postgres
DB_PORT: 5432
DB_USER: keycloak
DB_PASSWORD: password
KEYCLOAK_USER: admin
KEYCLOAK_PASSWORD: password
restart: always
networks:
- auth-network …Run Code Online (Sandbox Code Playgroud)