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

时间:2019-08-13 13:39:46

标签: 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", "$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

最后,我运行了Docker容器,检查了给定的Container ID。然后,当我在浏览器中单击IP地址时,它显示了有关该容器的所有详细信息,因为我找到了IP地址。它没有显示我的网站。

1 个答案:

答案 0 :(得分:0)

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

docker run -d -p 8081:80 sixeyed/w2k3-classic-asp

然后尝试访问http://localhost:8081上的网站

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

相关问题