如何在密钥斗篷码头工人容器中进行数据库备份



我为我的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。

问候

最新更新