我正在处理同样的问题:环境变量OPENSHIFT_MYSQL_ENABLED
是由变量替换过程中忽略了,所以我不得不启动数据源与我徒手,这就是我所做的: (我打算假设你已经在你的系统上安装了OC工具)
- 日志到OC:
oc login
- 列表中的所有吊舱,并找到WildFly实例:
oc get pods
- 进入容器的SSH控制台:
oc rsh <<pod-name>>
- 编辑
standalone.xml
文件vi /wildfly/standalone/configuration/standalone.xml
- 搜索键入词 “数据源”
/datasource
在vi编辑器上,然后按回车
- 找到您的数据源“启用”的属性,并将其值从
false
更新为true
(要这样做,请按i
去vi的插入模式)
- 按
esc
然后:x
我使用OpenShift社区版保存文件,所以重启容器始终是一个麻烦:它需要很长的时间来寻找可用资源(如内存和CPU)并重新启动服务器,但是,除非重新启动服务器,否则不会启用数据源。在这方面,为此,您不需要重新启动容器,只需使用jboss-cli.sh
命令行工具重新加载WildFly即可。 (我没有试图杀死这个进程并重新启动它,所以如果你尝试过,请评论它是否有效)。 应使用oc rsh <<podname>>
或在Web控制台上使用终端在容器的终端上执行以下步骤。
- 输入的jboss-CLI使用命令
/wildfly/bin/jboss-cli.sh
- 类型
connect
登录到控制台WildFly,你会被提示输入用户名和密码。如果您没有凭据,请退出此控制台并通过执行脚本创建管理用户/wildfly/bin/add-user.sh
- 通过输入
data-source read-resource --name=<<YOUR_DATASOURCE_NAME>> --include-runtime=true --recursive=true
并跟进“enabled”属性来检查数据源属性。
- 如果您的数据源被禁用,则应通过输入以下命令来启用它:
data-source enable --name=<<YOUR_DATASOURCE_NAME>>
- 通过输入
reload
命令重新加载WildFly。一旦WildFly重新启动,您将需要访问jboss-cli.sh并再次登录到控制台。
- 使用命令
data-source test-connection-in-pool --name=<<YOUR_DATASOURCE_NAME>>
测试您的数据源连接。如果命令输出为true
,那么您的数据源已启动并正在运行。
Openshift v3是基于码头集装箱,因此,如果你重新启动容器,恐怕这个配置可能会丢失。最合适的解决方案是将此操作包含在Docker的脚本中,但我不知道它是如何与Openshift平台一起工作的。
希望它有帮助!