次の質問があります。
LinuxシステムのDockerで実行されているAPI(Net Core 3.1)と、これらのアップロードされたファイルを保存する必要があるストレージにファイルをアップロードしようとすると、アクセス拒否エラーが発生します。
Access to the path '/shared/xxx/xxxx.pdf' is denied. 2023-10-19 16:50:50 ---> System.IO.IOException: Permission denied
ストレージは Windows で実行されており、両方のシステムが Windows AD ドメインにあります。
ドッカーの組み合わせ
version: '3.5'
volumes:
storageCM:
driver_opts:
type: cifs
o: "username=*****,password=*****,vers=3.0,domain=contoso.net"
device: "//192.168.52.20/shared"
services:
api-netcore:
image: image_container:3410
platform: linux
container_name: container_xxxx
restart: always
volumes:
- storageCM:/shared
ports:
- '8000:80'
ボリュームで使用するユーザー名とパスワードには、Windowsストアへのフルアクセス権があります。
Sambaを介してDockerホストに直接マッピングをテストしましたが、同じエラーが発生します。
上記のDocker Composerによると、コンテナ内にAPIをアップロードしようとするとエラーが表示されます。
Access to the path '/shared/xxx/xxxx.pdf' is denied.
2023-10-19 16:50:50 ---> System.IO.IOException: Permission denied
ホストに保存するとうまく機能し、コンソールからWindowsストアに保存しても機能します。
コンテナ内でのみエラーが発生します。