[英]Keycloak Docker-compose doesn't uses postgres image
我正在使用 Windows 10 系统。 我运行docker-compose up -d来启动 postgresql 和 keycloak 图像。 我使用 docker 卷来保存数据库数据。 我的 docker-compose 文件内容:
version: '2.2'
volumes:
files_volume:
driver: local
services:
postgres:
image: postgres:12
container_name: test_postgres
volumes:
- files_volume:/var/lib/postgresql/data
expose:
- 5432
ports:
- "15432:5432"
environment:
- "POSTGRES_DB=test"
- "POSTGRES_USER=super-admin"
- "POSTGRES_PASSWORD=super-password"
mem_limit: 256m
restart: unless-stopped
keycloak:
image: jboss/keycloak:10.0.2
hostname: keycloak
container_name: keycloak
volumes:
- files_volume:/opt/jboss/keycloak/standalone/log
environment:
DB_VENDOR: POSTGRES
DB_ADDR: 'postgres'
DB_DATABASE: 'test'
DB_USER: 'super-admin'
DB_SCHEMA: 'keycloak'
DB_PASSWORD: 'super-password'
KEYCLOAK_USER: 'admin'
KEYCLOAK_PASSWORD: 'admin'
PROXY_ADDRESS_FORWARDING: 'true'
JDBC_PARAMS: 'useSSL=false'
expose:
- 8080
ports:
- "18080:8080"
mem_limit: 1024m
restart: unless-stopped
depends_on:
postgres:
condition: service_started
Docker 正常启动,但我在这个 postgres 数据库上看不到 keycloak 模式。 当我连接到 keycloak 并创建 realm、客户端等以及docker-compose在重新启动后关闭时,我发现 keycloak 没有任何数据。 没有 realm,没有客户端,什么都没有。 我相信 keycloak 看不到 postgres 并使用 H2 数据库。
我使用音量,因为我不能使用直接文件夹。 也许我在卷上做错了什么? 我对 docker 很陌生。
我通过停止 docker 撰写并删除 keycloak 和 postgres 容器来解决问题。 然后删除音量。 然后启动 docker-compose 一切正常。 我相信,我开始使用 docker 组合的 docker 旧容器,它们被缓存了。 因此,每次更改 docker 组合文件时,必须删除更改了属性的容器。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.