使用Docker部署WebDeploy .Net 4.5 WebApi项目

我是docker工人,尝试学习.Net 4.5应用程序,在我们的内部部署数据中心上使用Docker Windows Container。 我跟着链接[ http://fluentbytes.com/deploying-asp-net-4-5-to-docker-on-windows/#comment-530794] [1 ]

以下是我的dockerfile获取必要的docker图像一切都很好:

# GET BASE IMAGE FROM microsoft/windowsservercore RUN dism /online /enable-feature /all /featurename:iis-webserver /NoRestart # GET IIS IMAGE FROM windowsserveriis RUN dism /online /enable-feature /all /featurename:IIS-ASPNET45 # GET WEB DEPLOY INSTALLED FROM windowsserveriisaspnet RUN mkdir c:\install ADD WebDeploy_2_10_amd64_en-US.msi /install/WebDeploy_2_10_amd64_en-US.msi WORKDIR /install RUN powershell start-Process msiexec.exe -ArgumentList '/ic:\install\WebDeploy_2_10_amd64_en-US.msi /qn' -Wait 

现在的问题:我使用web部署来创build压缩文件夹,paramerter文件和windows脚本命令,然后使用另一个DOCKER文件来部署我的webapi,如下所示:

 FROM windowsserveriisaspnetwebdeploy RUN mkdir c:\webapplication WORKDIR /webapplication ADD InventoryService.zip /Default\Web\Site/InventoryService.zip ADD InventoryService.deploy.cmd Default\Web\Site/InventoryService.deploy.cmd ADD InventoryService.SetParameters.xml Default\Web\Site/InventoryService.SetParameters.xml RUN InventoryService.deploy.cmd, /Y 

而“InventoryService.deploy.cmd”不会被识别为内部或外部命令,可操作程序或batch file。

我花了大量的时间search和堆栈,但无济于事。 你可以请一些光

  1. 我们将如何使用容器部署web.net与.net 4.5“?
  2. 在上面的dockerfile中我做错了什么?
  3. 我想部署这个webapi使用给定的端口(即12345而不是80),那么我们将如何做呢?

你的帮助将非常感谢!