我一直使用Octopus Deploy将Web应用程序部署到AWS EC2实例中。我知道Octopus Deploy是特定于.NET的,与Docker相比学习曲线较简单。我理解使用Docker的一个要点是创建容器而不是使用虚拟化程序来创建虚拟机。
但我的问题是,为什么要使用Docker而不是Octopus Deploy?哪个更适合部署应用程序?它们是否做不同的事情?
我一直使用Octopus Deploy将Web应用程序部署到AWS EC2实例中。我知道Octopus Deploy是特定于.NET的,与Docker相比学习曲线较简单。我理解使用Docker的一个要点是创建容器而不是使用虚拟化程序来创建虚拟机。
但我的问题是,为什么要使用Docker而不是Octopus Deploy?哪个更适合部署应用程序?它们是否做不同的事情?
很好的问题。它们有不同的功能和工作方式,但在它们解决的问题上有一些重叠。Octopus是关于发布已构建的应用程序- Docker是将应用程序构建为自包含的包,您可以将其作为容器进行发布和运行。
免责声明: 我是Docker Captain(Docker社区认可计划),并且我一直在投入大量时间研究Docker。我对它有偏见,因为我认为它是非常棒的技术- Octopus也很不错,但范围较小。如果您想了解更广泛的Docker概述,请参考我最近在Channel 9上谈论它。
使用Octopus,您可以将已编译的ASP.NET Web应用程序部署到服务器上。使用Octopus Library,您可以使用模板设置应用程序平台作为部署的一部分,配置IIS,运行Windows服务等。但是,您的服务器需要预先设置好先决条件(.NET、IIS等),需要安装Octopus代理才能运行部署,并且需要Octopus服务器进行协调。