Я хочу настроить сеть Docker, содержащую экземпляры keycloak, postgres и webapp.
Есть ли способ установить сетевую связь между контейнерами, но также понять и перенаправления клиента oidc?У меня возникла проблема, когда контейнеры могут нормально общаться друг с другом, если я установил OIDC с именами контейнеров для сети Docker, но затем я столкнулся с проблемами с клиентом, который не может подключиться к тем же URL-адресам вне сети Docker в сети.хост-машина.
Может кто-нибудь указать мне правильную докерскую документацию для поиска возможных решений с DNS или связью хост-контейнер?
---- EDIT ----
Для уточнения.Контейнеры могут нормально общаться друг с другом под своими именами контейнеров, но клиент (т. Е. Chrome) должен использовать localhost
для общения со всем.В моей настройке соединения 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
networks:
auth-network:
driver: bridge