我已经使用八达通部署了一段时间,只是为了将一个web应用程序部署到一个AWS EC2实例上。我知道八达通的部署是.NET特有的,与码头相比,学习曲线非常容易。我理解使用Docker的意义之一是创建容器,而不是使用管理程序来创建VM。
但我的问题是,使用码头超过章鱼部署的真正原因是什么?这对部署应用程序更好。他们做不同的事吗?
发布于 2016-10-05 09:30:08
问得好。他们做不同的事情,以不同的方式工作,但他们处理的问题有一些重叠。Octopus是关于交付一个已构建的应用程序-- Docker是关于将一个应用程序构建到一个独立的包中,您可以将其作为一个容器来装载和运行。
免责声明:我是码头船长(https://www.docker.com/community/docker-captains),我花了很多时间在码头上。我倾向于它,因为我认为它是了不起的科技-章鱼也伟大,但范围较小。如果您希望更广泛地了解Docker,https://channel9.msdn.com/events/TechDaysOnline/UK-TechDays-Online-September-2016/Powering-the-Transition-toDevOpswith-Docker-on-Windows-and-Azure。
使用Octopus,您可以使用编译后的ASP.NET web应用程序并将其部署到服务器上。使用八达通图书馆,您可以使用模板作为部署、配置IIS、运行Windows等应用程序平台的一部分。但是您的服务器需要已经设置的先决条件(.NET、IIS等),它们需要安装八达通代理才能运行部署,而您需要八达通服务器来协调部署。
使用Docker,您可以使用编译过的ASP.NET web应用程序并将其构建为图像--这是一个包含整个应用程序堆栈的单一逻辑单元。该映像具有IIS和ASP.NET、应用程序、应用程序的依赖项及其所有配置在一个单元中。您可以将图像推送到Docker注册表(共享映像存储),并在安装了Docker的任何Windows机器上运行应用程序。您的主机不需要安装IIS或ASP.NET --它都在映像中,您不需要额外的基础设施,Docker只是在主机上作为Windows运行。
Docker运行您的应用程序,以及构建和运输它们。应用程序在主机上是轻量级的孤立沙箱的容器中运行。您可以让容器运行不同版本的.NET、不同版本的IIS,甚至不同版本的Windows --所有这些都在同一台主机上运行,而不会相互影响。
您可以将应用程序拆分成多个容器,它们都可以在虚拟网络中相互访问,并且可以使用码头组成捕获复杂的分布式解决方案来定义部件及其关系。您可以将多个主机群集到一个码头群中,这使您可以轻松地进行缩放、故障转移和滚动升级。您可以使用商业码头数据中心产品来管理您的所有映像、主机和容器,并确保对它的所有访问。
https://stackoverflow.com/questions/39869607
复制相似问题