对接合成网络中的密钥伪装 [英] Keycloak in docker-compose network
本文介绍了对接合成网络中的密钥伪装的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我要设置一个包含KeyCloak、Postgres和WebApp实例的Docker网络。
有没有一种方法既可以在容器之间进行网络通信,又可以理解oidc客户端重定向?我遇到了一个问题,如果我使用扩展底座网络的容器名称设置OIDC,容器可以很好地相互通信,但随后我遇到了客户端无法连接到主机上扩展底座网络外部的相同URL的问题。谁能向我推荐正确的码头文档,以查找使用DNS或主机到容器通信的可能解决方案?
-编辑-
澄清。容器在它们的容器名称下可以很好地相互通信,但客户端(即Chrome)必须使用localhost
来与所有对象通信。在UIWeb应用程序的OIDC连接设置中,我必须使用容器名称或本地主机。如何让我的客户端理解容器名称以便发出正确的请求?
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
networks:
auth-network:
driver: bridge
主机
您不必修改推荐答案/Hosts文件。
有一个名为KEYCLOAK_FRONTEND_URL
的密钥罩环境变量专门用于此目的。
编辑您的扩展坞合成文件如下所示:
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
KEYCLOAK_FRONTEND_URL=http://localhost:8080/auth
restart: always
networks:
- auth-network
networks:
auth-network:
driver: bridge
则应将登录重定向到该URL。
这篇关于对接合成网络中的密钥伪装的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文