这是一个非常基本的问题。 Microsoft在任何地方都宣传lift and shift approach,这意味着您可以将旧的ASP.NET MVC项目(Cloud Service Webroles)迁移到Docker容器中,以便在Service Fabric(SF)上进行首次发布,并且稍后只能将它们转换为本机ASP.NET Core。
不幸的是,在整个描述中没有任何地方如何做到这一点:
我迷路了。我认为策略应该是编写一个自己的docker文件并手动创建一个容器,如4中所示,然后按照3将该容器嵌入到SF解决方案中。最后问题是:如何编写Dockerfile来容纳ASP.NET MVC项目?
答案 0 :(得分:2)
首先回答最终问题: ASP.NET MVC的dockerfile示例:
FROM microsoft/aspnet:4.6.2
WORKDIR /inetpub/wwwroot
COPY /publish .
这会将/ Pub目录的Web Publish输出复制到容器中。
为了扩展您在上面添加的链接,有一些重要的容器概念:
根据上面的四颗子弹将上述内容放在上面:
答案 1 :(得分:0)
其他想要手动构建自动创建的dockerfile的标记:
自动生成的.dockerignore file
会忽略除obj\Docker
文件夹之外的所有内容。如果您publish manually和您的发布文件夹不同,这就是为什么您的引用可能找不到,尽管您在dockerfile中正确设置它们。
答案 2 :(得分:0)
另一个提示:
在您自己的群集上发布解决方案时要注意,您必须在负载均衡器中手动设置转发规则。默认情况下,仅转发端口19000和19080。任何教程都没有提到这一点。您只能找到在in depth explanations中添加平衡规则的信息。