OpenShift Online でホストされている小さな Discord ボットの作業を開始し、デプロイ間でデータを保持しようとしているところまで来ました。私が知る限り、永続ボリュームを作成し、それを要求して展開構成にマウントし、読み書きできるはずです。
私は一生、許可の問題を乗り越えることはできません。私が見つけた最も近い答えは、OPENSHIFT_DATA_DIR環境変数をマウントされたボリュームのディレクトリに設定することです.
リポジトリ: https://github.com/Solesaver/Alfred-Discord-Bot
展開構成のテキスト ダンプ: https://dumptext.com/RBDbnfcP
私は永続的なボリュームを作成し、アクセス モードが Read-Write-Once であると主張しました。展開構成では、読み取り/書き込みモードで /data にマウントされています。デプロイメントの環境に、OPENSHIFT_DATA_DIR という名前と /data という値を持つ変数を追加しました。
これまでに試した組み合わせに関係なく、bot.js の 123 行目に到達すると、常にアクセスが拒否されます。
fs.writeFileSync(howmanyPath, JSON.stringify(howmanyObj, null, 4), 'utf8');
結局のところ、私が実際に理解する必要があるのは、任意のユーザー OpenShift が読み取り/書き込み権限を持つアプリを起動するディレクトリを指定する方法だけです。永続ボリュームを最終的に何にでもマウントできることがわかったら、私はかなり確信しています。