我想通过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地址。它没有显示我的网站。
答案 0 :(得分:0)
我相信您在运行容器时缺少端口映射:请尝试这样
docker run -d -p 8081:80 sixeyed/w2k3-classic-asp
然后尝试访问http://localhost:8081
上的网站
注意8081是任何随机端口,您甚至可以将计算机上的端口80映射到容器的端口80