以下は私が投稿した答えです。まだ私の答えを受け入れることができません。
私はチャットクライアントを開発しており、開発のために「ビルド」コマンドを使用して調整し、実際のサービスを開始するために使用できる設定ファイルを生成するdocker設定を使用します。私のデスクトップではうまくいきますが、respberryまたは別のハードドライブにあるラップトップで実行しようとすると、ビルド中に権限が拒否されたというファイルハンドラエラーが発生します。
私は愚かな奴かもしれませんが、私のラップトップのフォルダマウントポイントの権限を変更し、ラズベリーパイはそのフォルダの権限を設定しました。
Dockerは、すべてのコマンドに対してsudoを入力せずに実行するように設定されています。
以下は、仕事用プロファイルと非仕事用プロファイルの権限コードです。
# Auto generated, working local
-rwxrwxrwx 1 root root 103443 <date> <filename>
# Auto generated not working pi and laptop
-rw-r--r-- 1 991 991 106030 <date> <filename>
私はハードドライブを正しく設定していませんか?私のパイがデフォルトのOSパーティションにあるかどうかにかかわらず、このエラーが発生します。問題なくリバースプロキシを使用してdjangoを起動して提供できます。
私が作っているチャットサービスはマトリックス/シナプティックです。デフォルト設定を含むシナプスサーバーストアのdockerフォルダ。問題のファイルはhomeserver.ymlで、次から生成されます。
docker-compose run --rm synapse generate
答え1
実際にはLinux特権のいたずらではありません。
これは最近のシナプスドッカーリポジトリプッシュの副作用かもしれません。複数のデバイスでこれが起こるからです。私はdockerの手動設定の一部を直接指定することでこの問題を解決しました。このソリューションは、他の構成関連の問題に役立ちます。
解決したら、正確な解決策をより良い方法で適用することができます。
想像する:
構成の作成シナプスシナプス用のDockerコンテナの作成に使用されるサーバー。開発対象 行列顧客。
質問:
設定( 'homeserver.yaml')を正常に作成した後、その設定でシナプティックを構築すると(コンテナ内で)ファイルを読み取ることができないことを示すPythonスタックトレースで許可エラーが発生し、結果は発生しませservice exit 1
んdocker logs service
。
解決策:
これらの設定のいくつかは環境変数を使用して設定できます。シナプスの詳細情報をご覧ください。 検査後マトリックス/シナプスdocker repo 最近、頻繁な更新履歴を確認しました。私のシステムが壊れているか、コンテナの最近の構成設定に問題があります。だから私は一般的に自動化されたいくつかのタスクを直接実行しました。
/var/lib/docker/volumes/<name of bind mount>/_data
conf( 'homeserver.yml')で使用するシナプスフォルダの作成バインドマウントを使用すると(ストレージページに表示されます)、dockerボリュームはmedia_store、アップロード、ログを作成したい場所に配置されます。"homeserver.yml"で作成されたフォルダ名を見つけて、パスがそのフォルダを指していることを確認してください。
基本グループを割り当て、Synaptic ストレージの指示に従います。
# UID & GID default to 991 chown 991:991 media_store/ uploads/ logs/
ログ設定ハンドラをログフォルダとして指定すると、この設定を設定したときにログファイルは存在しません。ログハンドラファイルは.log.configにあります。
handlers: file: filename: /data/logs/homeserver.log