Windows 容器无法到达 Azure 文件存储

Windows container fails to reach Azure File Storage

我在 windows 服务器核心容器中的 IIS 上有一个 c# web 应用程序 运行。 在 dockerfile 中,我创建了一个没有密码的新用户 'myUser'。 我还将凭据添加到 Dockerfile 中的 Azure 文件存储中:

USER myUser
RUN powershell "cmdkey /add:mystore.file.core.windows.net /user:AZURE\mystore /pass:XXXXXXXXXXXXXXXXXXXXXXXXXXXXX=="

我使用 'myUser' 添加了一个新的应用程序池标识,并将该应用程序池用于我的应用程序。 当我启动容器并使用 'docker exec' 连接时,我以新用户身份登录。 我可以使用 'ls \mystore.file.core.windows.net\dockerstore\' 访问路径 'cmdkey /list'.

列出的凭据没问题

但是,在同一用户下运行的我的应用程序抱怨它无法到达商店。 System.IO.IOException 报告于 Directory.Exists()。

我也在我的本地机器上完成了这个操作,应用程序运行没有问题。 我也尝试过使用带密码的用户,但无济于事。 应用程序使用存储的完整 UNC 路径。

在 windows 服务应用程序上尝试了同样的事情。同样的事情:可以在 powershell 会话中列出文件,但我的应用程序无法访问它。

我是不是漏掉了什么?

编辑:这是我所做的:

NET USER myAzureFilesUser myAzureFilesPasswordXXXXXXXXXXX== /add /y
NET LOCALGROUP Administrators /add myAzureFilesUser 

Import-Module WebAdministration
$processModelProperties = @{userName='myAzureFilesUser ';password='myAzureFilesPasswordXXXXXXXXXXX==';identitytype=3}
Set-ItemProperty (Join-Path 'IIS:\AppPools\' 'My AppPool Name') -name processModel -value $processModelProperties

您需要使用与 Azure 文件存储帐户相同的用户名和密码创建本地用户帐户,并执行此处所述的一些额外任务。 https://blogs.iis.net/davidso/azurefile