Ale*_*xey 1 database-migration docker keycloak
我计划使用尽可能简单的堆栈使用docker(http://blog.keycloak.org/2015/04/running-keycloak-cluster-with-docker.html)运行我的keycloak实例
我现在不知道的唯一问题是,当他们发布新版本并且数据库架构需要迁移时,如何将keycloak升级到最新版本。他们提供了如何进行迁移的步骤(https://github.com/keycloak/keycloak-documentation/blob/master/server_admin/topics/MigrationFromOlderVersions.adoc),但是我无法弄清楚在将您的密钥斗篷装入容器时应该采取什么步骤。
任何建议将不胜感激。
数据库迁移
Liclobase 随附Keycloak,用于管理数据库版本。升级密钥斗篷所需要做的是:
备份数据库内容和非数据库内容(自定义提供程序,主题等)。
使用更新的keycloak标记再次运行docker。然后,Liquibase将检测到较旧版本的数据库并执行必要的步骤以对其进行更新。请记住,您必须为某些用户提供keycloak才能授予数据库更改权限。
配置文件迁移
此任务没有自动化。如果您尚未更改配置文件,则只需运行新映像即可。如果已编辑它们,则需要为新版本做好准备并运行映像。
由于已将keycloak配置为在反向代理之后运行,并且需要具有自定义配置文件,因此我编写了一个Dockerfile以拥有自己的keycloak docker映像,并包装了自己的配置:
FROM jboss/keycloak-mysql:2.4.0.Final
ADD standalone.xml /opt/jboss/keycloak/standalone/configuration
ADD standalone-ha.xml /opt/jboss/keycloak/standalone/configuration
CMD ["-b", "0.0.0.0"]
Run Code Online (Sandbox Code Playgroud)
提供者,主题...迁移
如果您实现了自定义提供程序或其他种类的东西,则需要检查它们与新版本的兼容性。否则,您可能需要重写它们。
通常,对于任何图像,对于生产环境而言,使用最新标签通常是个坏主意。有任何开发人员/ sysadmin运行docker pull命令并自动执行更新过程的风险,我想这不是您想要的。最好坚持使用固定的版本号并自己执行更新,因为首先要进行备份。
也可以看看:
| 归档时间: |
|
| 查看次数: |
1796 次 |
| 最近记录: |