gpt4 book ai didi

docker-compose - docker-compose 网络中的 Keycloak

转载 作者:行者123 更新时间:2023-12-04 12:56:56 26 4
gpt4 key购买 nike

我想设置一个包含 keycloak、postgres 和 webapp 实例的 Docker 网络。

有没有办法在容器之间进行网络通信,同时还可以理解 oidc 客户端重定向?我遇到了一个问题,如果我使用 docker 网络的容器名称设置 OIDC,容器可以相互通信就好了,但是我遇到了客户端问题,无法连接到 docker 网络之外的相同 URL主机。

任何人都可以指点我正确的 docker 文档,以寻找有关 DNS 或主机到容器通信的可能解决方案吗?

---- 编辑----

澄清。容器可以在它们的容器名称下相互通信,但客户端(即 Chrome)必须使用 localhost与一切交谈。在 ui web 应用程序中为我的 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

最佳答案

您不必修改 etc/hosts 文件。
keycloak 有一个名为 KEYCLOAK_FRONTEND_URL 的环境变量特别是为了这个目的。
编辑您的 docker compose 文件,如下所示:

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
应该将登录重定向到该网址。

关于docker-compose - docker-compose 网络中的 Keycloak,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50670734/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com