C# 通过Docker在IIS上部署经典ASP应用程序

C# 通过Docker在IIS上部署经典ASP应用程序,c#,asp.net,.net,docker,asp-classic,C#,Asp.net,.net,Docker,Asp Classic,我想通过docker在IIS上部署我的传统经典asp应用程序。我能够创建映像并运行映像。一切都很好,但当我尝试点击IP地址时,它不起作用 我遵循以下步骤。 1.我使用了下面的Docker文件,并将我的应用程序放在共享文件夹中。 2.我使用以下power shell命令运行docker文件: Docker文件: #escape=` FROM microsoft/iis:windowsservercore-ltsc2016 SHELL ["powershell", "-Command", "$Err

我想通过docker在IIS上部署我的传统经典asp应用程序。我能够创建映像并运行映像。一切都很好,但当我尝试点击IP地址时,它不起作用

我遵循以下步骤。 1.我使用了下面的Docker文件,并将我的应用程序放在共享文件夹中。 2.我使用以下power shell命令运行docker文件:

Docker文件:

#escape=`
FROM microsoft/iis:windowsservercore-ltsc2016
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]

RUN Install-WindowsFeature Web-ASP

COPY ./share/ClassicAspApp.zip

RUN Expand-Archive -Path ClassicAspApp.zip -DestinationPath C:\ClassicAspApp; `
    Remove-Item ClassicAspApp.zip

RUN Remove-Website -Name 'Default Web Site'; `
    New-Website -Name web-app -Port 80 -PhysicalPath C:\ClassicAspApp

Shell Command :
docker image build `
  -t sixeyed/w2k3-classic-asp `
  -f .\docker\classic-asp\Dockerfile .   #1.1

docker container run -d sixeyed/w2k3-classic-asp

最后,我在给定容器id的情况下运行docker容器检查。然后,当我在浏览器中点击ip地址时,它显示了关于容器的所有详细信息,因为我找到了ip地址。它没有显示我的站点。

我相信您在运行容器时缺少端口映射:像这样尝试

docker run -d -p 8081:80 sixeyed/w2k3-classic-asp
然后尝试访问您的网站
http://localhost:8081


注意8081是任何随机端口,您甚至可以将机器上的端口80映射到容器的端口80

我相信您在运行容器时缺少端口映射:像这样尝试

docker run -d -p 8081:80 sixeyed/w2k3-classic-asp
然后尝试访问您的网站
http://localhost:8081


注意8081是任何随机端口,您甚至可以将机器上的端口80映射到容器的端口80

是否检查了容器日志
docker日志-f{container id}
检查了日志,但没有捕获日志。文件大小为0kb。它与任何代理设置有关吗?C#、.net和asp.net与经典asp无关。您是否遗漏了一些信息或输入了太多信息?是否检查了容器日志
docker日志-f{container id}
检查了日志,但没有捕获日志。文件大小为0kb。它与任何代理设置有关吗?C#、.net和asp.net与经典asp无关。您是否遗漏了一些信息或输入了太多信息?非常感谢,这对我很有用。您能告诉我如何测试数据库连接吗。我有一个页面连接到SQL并显示详细信息。如何在容器中安装驱动程序以与数据库对话。我有sql server数据库,但容器没有sql server本机客户端11。请帮助我。非常感谢,它对我有效。你能告诉我如何测试数据库连接吗。我有一个页面连接到sql并显示详细信息。如何在容器中安装驱动程序以与数据库对话。我有sql server数据库,但容器没有sql server本机客户端11。请帮助我