" cf ssh"进入java buildpack应用程序 - 如何运行使用java的脚本?

时间:2018-02-02 10:26:42

标签: cloudfoundry keycloak swisscomdev

我已将Keycloak-Server(作为Wildfly Swarm部分)部署到Swisscom Cloud Foundry环境(使用Java构建包)。

当我尝试访问Keycloak管理控制台时,出现以下错误:

"您需要本地访问权限才能创建初始管理员用户。打开http://localhost:8080/auth或使用add-user-keycloak脚本。"

我该如何解决这个问题?

我可以以某种方式打开一个ssh隧道到我的Java buildpack应用程序,以便使用http://localhost:8080访问它吗?

我也试过" cf login"和" cf ssh"进入我的应用程序我创建了" add-user-kecloak.sh"通过复制/粘贴它。当我尝试执行它时,我收到错误"找不到java命令"?

这是脚本:https://github.com/keycloak/keycloak/blob/master/distribution/feature-packs/server-feature-pack/src/main/resources/content/bin/add-user-keycloak.sh

1 个答案:

答案 0 :(得分:3)

您可以使用cf ssh在容器中打开ssh隧道,并访问以下网址中的网址:cf ssh your-app -N -L 8080:localhost:8080
这将侦听您计算机上的端口8080,并将任何请求转发到您的应用容器上的端口8080。因此,您应该能够将浏览器指向http://localhost:8080/auth以进入控制台。

运行脚本可能会有点复杂;至少Java Buildpack没有标准化它存储java可执行文件的位置,当你cf ssh进入容器时它没有被添加到PATH中,所以你首先需要查找它

我自己没有使用过Keycloak所以我的答案仅限于如何通过隧道进入app容器来访问本地控制台。

无论哪种方式,请注意,如果此管理员用户保存到本地磁盘,而不是某些外部存储,则下次重新启动应用程序时(由您或系统将修补程序应用到其rootfs),您可能需要再次通过这个。