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



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

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

"您需要本地访问权限才能创建初始管理员用户。打开 http://localhost:8080/auth 或使用添加用户密钥标记脚本。

我该如何解决这个问题?

我可以以某种方式打开我的 Java 构建包应用程序的 ssh 隧道以便使用 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

您可以使用cf ssh打开进入

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

运行脚本可能有点复杂;至少Java Buildpack没有标准化它存储java可执行文件的位置,并且当您cf ssh容器时,它不会添加到PATH中,因此您首先需要找到它。

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

无论哪种方式,请注意,如果此管理员用户保存到本地磁盘,而不是保存到某个外部存储,则下次重新配置应用程序(由您或系统将补丁应用于其rootfs(时,您可能需要再次执行此操作。

最新更新