【问题标题】:Deploying classic ASP application on IIS through Docker通过 Docker 在 IIS 上部署经典 ASP 应用程序
【发布时间】:2019-08-13 13:39:46
【问题描述】:

我想通过 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 logs -f {container id}
  • 检查了日志但没有捕获日志。文件大小为 0kb。它与任何代理设置有关吗?
  • C#、.net 和 asp.net 与经典 asp 无关。您是否遗漏了一些信息或输入了太多信息?

标签: c# asp.net .net docker asp-classic


【解决方案1】:

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

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

然后尝试通过http://localhost:8081访问您的网站

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

【讨论】:

  • 非常感谢,它对我有用。你能告诉我如何测试数据库连接吗?我有一页连接到 SQL 并显示详细信息。如何在容器中安装驱动程序进行交谈到数据库。我有 sql server 数据库,但容器没有 sql server native client 11.please help me out
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多