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

时间:2017-08-22 21:41:51

标签: windows iis docker asp.net-web-api webdeploy

我是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 '/i 
c:\install\WebDeploy_2_10_amd64_en-US.msi /qn' -Wait

现在问题:我使用web部署来创建压缩文件夹,参数文件和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”无法识别为内部或外部命令,可运行程序或批处理文件。

我花了很多时间谷歌搜索和堆栈溢出但无济于事。你能否点亮一下

  1. 我们如何使用.net 4.5“使用容器?
  2. 部署webapi
  3. 我在上面的dockerfile中做错了什么?
  4. 我想部署这个webapi来使用给定的端口(即12345而不是80),那么我们将如何做呢?
  5. 非常感谢您的帮助!!

0 个答案:

没有答案