【问题标题】:How to add Docker Support for Asp.Net Core 2.0 targeting full .Net Framework 4.7如何为面向完整 .Net Framework 4.7 的 Asp.Net Core 2.0 添加 Docker 支持
【发布时间】:2018-06-12 11:55:57
【问题描述】:

我有一个面向 .Net Framework 4.7(完整版)的 ASP.Net Core 2.0 应用程序。 我想为此使用 Docker,但 VS 2017 15.5 不允许我向其添加 Docker 支持。 (这不支持喷气机)。 我的问题是:是否有解决此问题的方法。 如果没有,我还能以某种方式在这个项目中使用 docker 并在 VS 2017 中调试它吗? 请帮忙 谢谢

更新 我需要使用 .NET 完整版,因为我使用的是不支持 .net 核心的 3rd 方库,比如 NHibernate,而且我不想使用 EF Core。 此外,我正在构建微服务架构,并希望每个微服务都部署在自己的容器中。

【问题讨论】:

  • 另外我不知道我必须为此使用什么 docker 映像...我应该使用 microsoft/aspnet:4.7.1-windowsservercore-ltsc2016 还是 microsoft/aspnetcore:2.0-nanoserver-sac2016?或者是否有同时安装了 .Net Core 2.0 和 .Net Framework 4.7 的图像?
  • Nano 仅支持 .NET Core,不支持完整框架。这就是为什么图像大小只有“几”MB。服务器核心确实支持两者,但它的大小在 GB 范围内。 为什么你想在 Docker 上使用完整的框架?您可以自己添加所需的 dockerfile,但您的容器太大,部署时间太长
  • This article 描述了目标之间的差异。请注意,使用最新的 Nano 映像仅需要 256MB
  • 如果您确实想使用完整的框架,您可以使用相同的 dockerfile 并将 microsoft/aspnetcore 替换为 microsoft/aspnet。 That image 基于 Server Core(因此更大)并包含 .NET 4.7.1
  • @PanagiotisKanavos 我需要使用 Full.Net Framework,因为我使用不支持 .net 核心(如 NHibernate)的第 3 方库,不,我不想使用 EF Core。此外,我正在构建微服务架构并将每个微服务部署在它自己的 docker 容器中

标签: .net docker visual-studio-2017 asp.net-core-2.0


【解决方案1】:

你试过这个Dockerfile

它有 .Net Core 2.0 和 .Net Framework 4.7

这是docker hub的完整描述

【讨论】:

  • 好的,就可以了。现在我只需要帮助创建 Dockerfile 和 Docker-compose,它们可以在 VS2017 中运行。虽然它不必在 VS 2017 中运行,但它可以从 CLI 运行,但我需要以某种方式对其进行调试。
  • 这个怎么样.. scrum-tips.com/2017/12/27/… 如果不是您要找的,请告诉我。 .
  • 我尝试添加所有必要的文件,但是当我在 VS 2017 中构建解决方案时,我收到此错误:值不能为空。参数名称:stream docker-compose 错误发生在:Microsoft.VisualStudio.Docker.Compose.targets 文件中的任务“CreateComposeVsGeneratedFiles”
  • compose.override 文件包含 VS 添加到其中的端口、环境变量和默认网络节点。 (我确实从另一个有效的解决方案中复制了它,并对其进行了调整以匹配我的文件/文件夹/服务位置和名称)。
  • 嗨 Luka,你知道发生了什么吗?我想我是在碰同样的石头。
猜你喜欢
  • 1970-01-01
  • 2018-01-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-02
  • 1970-01-01
  • 2018-12-06
  • 2017-03-11
相关资源
最近更新 更多