繁体   English   中英

Keycloak Docker-compose 不使用 postgres 图像

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM