私はWebアプリを開発しており、QNAP-NASのファイルシステムにアクセスしてディレクトリやファイルの編集・作成を行う必要があります。
NFSをdockerコンテナにマウントするため、以下のdocker-composeファイルを使用しました:
services:
app:
... # 関係のない部分
volumes:
- .:/app
- "nfs-base:/Z" # NFSボリュームをコンテナの/baseディレクトリにマウント
volumes:
nfs-base:
driver: local
driver_opts:
type: nfs
o: "nfsvers=4,addr=IPADDRESS_OF_THE_QNAP-NAS,rw"
device: ":/"
ボリューム作成時にエラーは発生せず、コンテナを確認すると :/Z/base ディレクトリが作成されているため、qnapファイルシステムの共有フォルダー base は正しくマウント(またはdocker-composeファイルで認識)されているようです。
問題は、コンテナの内容を調査して :/Z/base 内のファイルが正しくマウントされているかレビューしようとしたときに発生します。
コンテナ内で /base ディレクトリにアクセスしようとすると、次のエラーが表示されます: bash: cd: base/base: Operation not permitted。
また、コンテナ内でフォルダのパーミッションを確認すると、次のようなプロンプトが表示されます:
drwxrwxrwx 28 1000 root 4096 May 10 09:04 base
これは、共有フォルダーへのアクセス権限の問題だと思いますが、QNAPに不慣れなため、どのように権限を付与すればよいか分かりません。
なお、dockerコンテナと同じホストからsshでQNAP-NASの/baseディレクトリにアクセスする場合、パーミッションの問題は発生せず(baseディレクトリ内のすべてのファイルにアクセスできます)。
NFSでマウントされたディレクトリへの読み書きの権限をdockerコンテナに与えるには、どうすればよいですか?
