堆栈文件和Compose文件有什么区别?

我正在学习使用Docker Compose在多个主机上部署多个容器中的应用程序。 我遇到了两个configuration文件 – 堆栈文件和撰写文件。

从Cloud Stack文件YAML参考中 ,它表示一个堆栈文件是一个YAML格式的文件,它定义了一个或多个服务,类似于docker-compose.yml文件,但是有一些扩展。

从这篇文章中 ,它指出堆栈与docker-compose非常相似,只是它们定义了服务,而docker-compose定义了容器

他们看起来非常相似,所以我想知道什么时候我会使用堆栈文件,以及何时使用撰写文件?

从概念上讲,这两个文件都有相同的目的 – 在Docker引擎上部署和configuration您的容器。

Docker-compose工具是首先创build的,其目的是“在多个Docker引擎上定义和运行多容器Docker应用程序”。 (请参阅docker撰写概述 )

你用

 docker-compose up 

创build/更新您的容器,networking,卷等。

在Docker Swarm中使用Docker Stack (Docker的编排和调度工具),因此,它具有在单个Docker引擎上不需要的额外configuration参数(即副本,部署,angular色)。

堆栈文件被解释

 docker stack 

命令。 这个命令只能从docker swarm manager中调用。

您可以将docker-compose.yml转换为docker-cloud.yml并返回。 但是,正如您的问题所述,您必须注意差异。 另外,你需要记住docker-compose有不同的版本。 目前,最新版本是版本3.( https://docs.docker.com/compose/compose-file/

编辑:一个有趣的博客,这可能有助于了解差异,可以在这里findhttps://blog.nimbleci.com/2016/09/14/docker-stacks-and-why-we-need-them/

Interesting Posts