简体   繁体   English

Docker和Octopus Deploy之间有什么区别

[英]What are differences between Docker and Octopus Deploy

I have been using Octopus Deploy for sometime now just to deploy a web application onto an AWS EC2 instance. 我一直在使用Octopus Deploy,只是为了将Web应用程序部署到AWS EC2实例上。 I am aware that Octopus Deploy is .NET specific and the learning curve is quite easy when compared to Docker. 我知道Octopus Deploy是特定于.NET的,与Docker相比,学习曲线非常简单。 I understand one of the point of using Docker is to create containers rather than running using hypervisers to create VMs. 我理解使用Docker的一个方面是创建容器而不是使用虚拟机管理程序来创建VM。

But my question is what are the real reasons to use Docker over octopus deploy ? 但我的问题是使用Docker而不是章鱼部署的真正原因是什么? which is better for deploying applications. 这对于部署应用程序更好。 Do they do different things ? 他们做不同的事吗?

Good question. 好问题。 They do different things and work in different ways, but there is some overlap in the problems they address. 他们做不同的事情并以不同的方式工作,但他们解决的问题有一些重叠。 Octopus is about shipping a built application - Docker is about building an application into a self-contained package, which you can ship and run as a container. Octopus是关于运送一个构建的应用程序 - Docker是关于将应用程序构建到一个独立的包中,您可以将其作为容器运送和运行。

Disclaimer : I'm a Docker Captain ( Docker's community recognition program ) and I've been investing a lot of time in Docker. 免责声明我是Docker Captain( Docker的社区认可计划 ),我一直在Docker投入大量时间。 I'm biased towards it because I think it's fantastic tech - Octopus us great too, but the scope is smaller. 我偏向于它,因为我认为它是非常棒的技术 - 八达通我们也很棒,但范围更小。 If you want a broader overview of Docker, I talked about it recently on Channel 9 . 如果您想要更广泛地了解Docker, 我最近在第9频道上谈到了它

With Octopus you can take a compiled ASP.NET web app and deploy it to your servers. 使用Octopus,您可以使用已编译的ASP.NET Web应用程序并将其部署到您的服务器。 Using the Octopus Library you can use templates to set up your app platform as part of the deployment, configuring IIS, running Windows Services etc. But your servers need the pre-requisites already set up (.NET, IIS etc.), they need the Octopus agent installed to be able to run the deployments, and you need the Octopus server to co-ordinate it. 使用八达通库,您可以使用模板设置您的应用程序平台,作为部署,配置IIS,运行Windows服务等的一部分。但您的服务器需要已经设置的先决条件(.NET,IIS等),他们需要安装了Octopus代理以便能够运行部署,并且您需要Octopus服务器来协调它。

With Docker you can take a compiled ASP.NET web app and build it into an image - which is a single logical unit that contains your whole application stack. 使用Docker,您可以使用已编译的ASP.NET Web应用程序并将其构建为映像 - 这是一个包含整个应用程序堆栈的逻辑单元。 The image has IIS and ASP.NET, your app, your app's dependencies and all its configuration in a single unit. 该映像具有IIS和ASP.NET,您的应用程序,应用程序的依赖关系以及所有配置在一个单元中。 You can push and pull the image to a Docker registry (a shared image store), and run your app on any Windows machine with Docker installed. 您可以将图像推送到Docker注册表(共享图像存储),并在安装了Docker的任何Windows计算机上运行您的应用程序。 Your host doesn't need IIS or ASP.NET installed - it's all inside the image, and you don't need additional infrastructure, Docker just runs as a Windows Service on the host. 您的主机不需要安装IIS或ASP.NET - 它们都在映像内部,并且您不需要其他基础架构,Docker只是在主机上作为Windows服务运行。

Docker runs your apps, as well as building and shipping them. Docker可以运行您的应用程序,以及构建和发送它们。 Applications run in containers which are lightweight, isolated sandboxes on the host. 应用程序在容器中运行,容器是主机上的轻量级隔离沙箱。 You can have containers running apps with different versions of .NET, different versions of IIS, even different versions of Windows - all running on the same host without affecting each other. 您可以让容器运行具有不同版本的.NET,不同版本的IIS,甚至不同版本的Windows的应用程序 - 所有这些都在同一主机上运行而不会相互影响。

You can split an application into many containers, they can all access each other in a virtual network, and you can capture complex distributed solutions using Docker Compose to define the parts and their relationship. 您可以将应用程序拆分为多个容器,它们都可以在虚拟网络中相互访问,您可以使用Docker Compose捕获复杂的分布式解决方案来定义部件及其关系。 You can cluster multiple hosts together into a Docker Swarm which gives you easy scaling, failover and rolling upgrades. 您可以将多个主机集群到Docker Swarm中 ,从而轻松实现扩展,故障转移和滚动升级。 And you can use the commercial Docker Datacenter product to manage all your images, hosts and containers, and secure access to it all. 您可以使用商业Docker Datacenter产品来管理所有图像,主机和容器,并保护对它的访问。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM