C# 完整DevOps的大局中的Docker

C# 完整DevOps的大局中的Docker,c#,iis,docker,C#,Iis,Docker,有人能给我指出正确的文档或描述Docker在以下场景中如何提供帮助(或应该停靠什么): 4个环境:开发人员的笔记本电脑、开发人员、测试人员、专业人员 在IIS8下运行的C#web MVC应用程序 在Oracle专用Exadata服务器上运行的数据库 源代码控制是TFS-TFS,在TFS下有构建,以及一个带有RESTAPI的二进制存储库。(专有) TEST和PRO中的部署必须遵循严格的批准流程 综上所述,我知道我不适合在最常见的环境中使用Docker,但是为了获得最多的答案,我特别选择了这个用

有人能给我指出正确的文档或描述Docker在以下场景中如何提供帮助(或应该停靠什么):

  • 4个环境:开发人员的笔记本电脑、开发人员、测试人员、专业人员
  • 在IIS8下运行的C#web MVC应用程序
  • 在Oracle专用Exadata服务器上运行的数据库
  • 源代码控制是TFS-TFS,在TFS下有构建,以及一个带有RESTAPI的二进制存储库。(专有)
  • TEST和PRO中的部署必须遵循严格的批准流程
综上所述,我知道我不适合在最常见的环境中使用Docker,但是为了获得最多的答案,我特别选择了这个用例

我可以走两条路:

  • 或者尝试将开发环境本身固定化,但我怀疑Visual Studio今天是否可以固定化?因此,这将使我在dock中运行smalle数据库引擎,也可能是运行应用程序的mono实例,但我怀疑开发人员是否会看到与内置VSS功能相比的附加值
  • 我也可以尝试对“运行”环境进行Docker化,但对于IIS,我不确定Docker是否会这样做

如果答案是“在Microsoft stack上什么都做不了”,请切换到Java、SVN、Jenkins、RAD和WAS(如果合适),这也会匹配我的一些用例。

有关处理DEV/TEST/PROD的信息,请参阅

您可以在registry hub中找到(343)Oracle Database in容器


如果您选择另一个Web服务器来代替IIS,那么使用带有Nginx或Apache或

Visual Studio不支持wine,因为我看到垃圾和IIS似乎属于同一类。您可以使用另一个Web服务器,例如nginx ou Apache或lighttpd吗?嗨,对于C#MVC应用程序,这并不是那么容易,但是正如前面提到的,我也有一个java堆栈,因此在某些方面仍然可以使用Docker。我从你的回答中了解到,目前只有Linux软件可以在Docker下使用,对吗?Linux或Mac Os,但你可以在容器中使用.NET,请参阅,也可以使用PowerShell,请参阅和ASP。谢谢,关于pic图片的想法有什么建议吗?我不知怎的想到了在Docker上运行Apache或ruby堆栈,但我不明白这到底如何适合开发人员的正常工作方式。我也不知道如何使用docker在PRO中部署构建代码。当然,维护此环境的人员不会接受新版本应用程序的docker文件,他们如何知道由谁来执行基本维护和故障排除?嗨,我从环境或配置文件中了解到不同的配置,但是支持团队对此类交付有何反应?我必须说,根据我的经验,团队不会非常喜欢接收他们无法控制的停靠环境(例如WAS设置和配置)。我之所以得到这些图片是为了快速部署新环境,对于严格控制和监控的环境,我无法想象(或者我无法想象如何让人们接受它)至于运行oracle,我看到了这些图片,但它们(在性能/可伸缩性/可用性方面)与Exadata设置不匹配,除非Docker可能具有执行数据库事务热交换的功能?>>>团队不会非常喜欢接收他们无法控制的Docker化环境--->您可以给他们一个Dockerfile并让他们调整它,放置一个特定的WAS设置/config
Docker build-t myconfig\u 1。
很容易,使用docker 1.5,您可以拥有特定的DockerFile,请参见为什么不将Exadata容器化?如果它在Linux上运行,您将能够做到这一点。>>>除非Docker具有执行数据库事务热交换的功能?-->将docker视为一个孤立的进程,因此它将无法这样做