我目前正在开发一个应用程序,其中使用keycloak连接到ldap服务器。一旦服务器启动并运行,我就有一些特定的命令要运行。例如,我要运行以下
./kcadm.sh config credentials --server http://localhost:8080/auth --realm master --user admin --password password
./kcadm.sh update realms/master -s sslRequired=NONE
由于我尚未在虚拟机上安装https,因此该程序仍在运行。
我正在通过Dockerfile构建密钥斗篷,但是我发现我不能只用Docker运行上述命令,因为在我的Dockerfile完成运行时服务器还没有启动。
是否有什么方法可以知道我的keycloak服务器何时启动并运行,以便我可以自动执行上述命令以便随后运行?另外,可以将上述命令添加到standalone.xml文件或类似文件中,这样我什至不必担心这个问题? (请注意,我也想运行其他命令,因此,如果可以通过standalone.xml进行操作,则对它的工作方式进行一些小的解释可能会有所帮助)。
答案 0 :(得分:0)
您可以从RUN
创建初始化脚本和Dockerfile
,
初始化脚本,该脚本启动密钥斗篷,然后对其进行配置。
我们使用以下查询循环检查了密钥斗篷的状态。
$ kcadm.sh config credentials --server http://localhost:8080/auth --realm master --user testuser --password testpass
我们在启动密钥隐藏之前使用add-user-keycloak.sh
设置了测试用户,并在最后将其删除。