运行 在 docker 容器中时如何保存 keycloak 数据?

How to save the keycloak data when running inside docker container?

I 运行 keycloak standalone using a command for docker docker run -p 8080:8080 -e KEYCLOAK_USER=admin -e KEYCLOAK_PASSWORD=admin quay.io/keycloak/keycloak:15.0.2

如何在容器停止后挂载卷来保存数据?

Keycloak 自带嵌入式 Java 关系数据库,称为 H2。 数据存储在容器内/opt/jboss/keycloak/standalone/data/

要使用已安装的卷启动容器,您需要:

1。创建具有读写权限的文件夹:

mkdir -m 777 ./keycloak_data

2。使用已安装的卷启动容器:

docker run -v ./keycloak_data:/opt/jboss/keycloak/standalone/data/ -p 8080:8080  -e KEYCLOAK_USER=admin -e KEYCLOAK_PASSWORD=admin quay.io/keycloak/keycloak:15.0.2

注意,如果你挂载卷,KEYCLOAK_USERKEYCLOAK_PASSWORD只会在第一次启动容器时被考虑,所以再次启动容器 只需使用:

docker run -v ./keycloak_data:/opt/jboss/keycloak/standalone/data/ -p 8080:8080 quay.io/keycloak/keycloak:15.0.2