Docker 对于 windows - 内部服务器错误
Docker for windows - Internal server error
当 运行 我在 Docker 桌面 Windows 中的解决方案之一时,我遇到了问题。
我使用以下 docker 文件:
# escape=`
FROM microsoft/iis
SHELL ["powershell", "-command"]
# Install ASP.NET
RUN Install-WindowsFeature NET-Framework-45-ASPNET; `
Install-WindowsFeature Web-Asp-Net45
# Configure website
EXPOSE 8000
RUN Remove-Website -Name 'Default Web Site'; `
md c:\barometer; `
New-Website -Name 'barometer' `
-Port 8000 -PhysicalPath 'c:\barometer' `
-ApplicationPool '.NET v4.5'
COPY PublishOutput c:\barometer
我的搭建步骤如下:
docker build -t mvcbarometer .
docker run -d --name barometer mvcbarometer
docker inspect -f "{{ .NetworkSettings.Networks.nat.IPAddress }}" barometer
一切正常,但在访问该站点时出现以下错误:"There is a problem with the resource you are looking for, and it cannot be displayed."
出于某种原因,即使我使用相同的配置,我也无法获得通过 visual studio 调试时显示的经典黄色错误页面。
似乎 docker 没有在任何地方记录任何错误,所以我有点难以调试问题。
我的其他(更基本的)项目在类似的 docker 构建设置下运行良好。
我在某处读到 docker 某些 web.config 元素有问题,但我找不到关于该主题的任何真实文档。
谁能帮我调试问题?
iis 似乎没有访问该目录的权限。尝试复制wwwroot目录权限,分配给新站点。
RUN Set-Acl -Path c:\barometer -AclObject (Get-Acl -Path "C:\inetpub\wwwroot");
终于找到问题了。
我正在使用 url 重写 2.0 功能,但忘记将其安装在 docker 映像中。
将以下内容添加到我的 docker 文件中解决了问题:
# Install Url Rewrite
ADD https://download.microsoft.com/download/C/9/E/C9E8180D-4E51-40A6-A9BF-776990D8BCA9/rewrite_amd64.msi /install/rewrite_amd64.msi
RUN msiexec.exe /i c:\install\rewrite_amd64.msi /passive
Could anyone help me with debugging the problem?
我在 Docker 中调试 ASP.NET 应用程序时遇到了同样的问题。我找到了答案 here.
<configuration>
<system.webServer>
<httpErrors errorMode="Detailed" />
</system.webServer>
</configuration>
当 运行 我在 Docker 桌面 Windows 中的解决方案之一时,我遇到了问题。 我使用以下 docker 文件:
# escape=`
FROM microsoft/iis
SHELL ["powershell", "-command"]
# Install ASP.NET
RUN Install-WindowsFeature NET-Framework-45-ASPNET; `
Install-WindowsFeature Web-Asp-Net45
# Configure website
EXPOSE 8000
RUN Remove-Website -Name 'Default Web Site'; `
md c:\barometer; `
New-Website -Name 'barometer' `
-Port 8000 -PhysicalPath 'c:\barometer' `
-ApplicationPool '.NET v4.5'
COPY PublishOutput c:\barometer
我的搭建步骤如下:
docker build -t mvcbarometer .
docker run -d --name barometer mvcbarometer
docker inspect -f "{{ .NetworkSettings.Networks.nat.IPAddress }}" barometer
一切正常,但在访问该站点时出现以下错误:"There is a problem with the resource you are looking for, and it cannot be displayed."
出于某种原因,即使我使用相同的配置,我也无法获得通过 visual studio 调试时显示的经典黄色错误页面。
似乎 docker 没有在任何地方记录任何错误,所以我有点难以调试问题。 我的其他(更基本的)项目在类似的 docker 构建设置下运行良好。
我在某处读到 docker 某些 web.config 元素有问题,但我找不到关于该主题的任何真实文档。
谁能帮我调试问题?
iis 似乎没有访问该目录的权限。尝试复制wwwroot目录权限,分配给新站点。
RUN Set-Acl -Path c:\barometer -AclObject (Get-Acl -Path "C:\inetpub\wwwroot");
终于找到问题了。 我正在使用 url 重写 2.0 功能,但忘记将其安装在 docker 映像中。
将以下内容添加到我的 docker 文件中解决了问题:
# Install Url Rewrite
ADD https://download.microsoft.com/download/C/9/E/C9E8180D-4E51-40A6-A9BF-776990D8BCA9/rewrite_amd64.msi /install/rewrite_amd64.msi
RUN msiexec.exe /i c:\install\rewrite_amd64.msi /passive
Could anyone help me with debugging the problem?
我在 Docker 中调试 ASP.NET 应用程序时遇到了同样的问题。我找到了答案 here.
<configuration>
<system.webServer>
<httpErrors errorMode="Detailed" />
</system.webServer>
</configuration>