【发布时间】:2018-10-18 07:04:23
【问题描述】:
我已经开始开发托管 OpenShift Online 的小型 Discord 机器人,并且我已经到了尝试跨部署持久化数据的地步。据我所知,我应该能够创建持久卷、声明它并将其挂载到我的部署配置中,然后能够对其进行读取和写入。
不过,我这辈子都无法解决权限问题。我找到的最接近的答案是将 OPENSHIFT_DATA_DIR 环境变量设置为已挂载卷的目录,如切线讨论 here,但在尝试写入该目录时仍然会被拒绝访问。
存储库:https://github.com/Solesaver/Alfred-Discord-Bot
部署配置的文本转储:https://dumptext.com/RBDbnfcP
我已经创建了一个持久卷并使用 Access Modes Read-Write-Once 声明,部署配置已将其以读写模式安装在 /data。我已在部署环境中添加了一个名为 OPENSHIFT_DATA_DIR 且值为 /data 的变量。
到目前为止,无论我尝试过哪种组合,当我点击 bot.js 的第 123 行时,我总是以拒绝访问结束:
fs.writeFileSync(howmanyPath, JSON.stringify(howmanyObj, null, 4), 'utf8');
归根结底,我真正需要弄清楚的是如何指定任意用户 OpenShift 启动我的应用程序的目录,因为它具有读/写权限。我很确定,一旦我弄清楚了,我就可以将持久卷挂载到最终的任何东西上。
【问题讨论】:
标签: openshift openshift-online