我为我的django
项目安装了 docker 的 keycloak
docker run -p 8080:8080 -e KEYCLOAK_USER=admin -e KEYCLOAK_PASSWORD=admin jboss/keycloak
现在一切正常,但现在我想在Docker中备份Keycloak db,但我不知道KeyCloak Docker容器中默认安装了哪个数据库,那么如何备份和恢复数据, 我正在使用此命令$ sudo docker exec -it 35ba690a68fd /bin/bash
与容器交互,请提出任何建议。我正在使用Redhat Linux
Keycloak <17.0.0:
默认数据库位于 名称/opt/jboss/keycloak/standalone/data/
keycloak.mv.db
如果你想备份它,我建议在运行KeyCloak时映射一个卷:
docker run --volume /root/keycloak/data/:/opt/jboss/keycloak/standalone/data/ ...
这样,数据库将保留在主机上,即使您销毁容器并重新创建它,也会保留更改。
对于钥匙斗篷>= 17.0.0:
默认数据库位于/opt/keycloak/data/h2/
名称为keycloakdb.mv.db
如果要备份它,请在运行 KeyCloak 时映射以下卷:
docker run --volume /root/keycloak/data/:/opt/keycloak/data/h2/ ...
也可以使用整个data
文件夹(而不是h2
(。
默认情况下,Keycloak 使用的是其嵌入式 H2 数据库。我建议您迁移到外部数据库,以便能够更轻松地管理备份。
请参阅有关支持的数据库以及如何设置 env 变量以从 Keycloak 容器连接到数据库的 https://www.keycloak.org/docs/latest/server_installation/index.html#_database 和 https://github.com/keycloak/keycloak-containers/tree/master/server#database。
问候