docker-compose.yml与docker-stack.yml有什么区别?

时间:2017-04-06 08:38:14

标签: docker docker-compose

我是新的docker-user。在不同的手册中,我发现通常使用docker-compose.yml文件来描述docker job,但是在docker site上这个目标使用了docker-stack.yml文件。有什么区别?

3 个答案:

答案 0 :(得分:8)

docker-compose.yml用于docker-compose工具,该工具适用于单个docker引擎上的多容器docker应用程序。

调用
docker-compose up

docker-stack.yml用于docker swarm工具。 (用于编排和安排)。

调用
docker stack

答案 1 :(得分:6)

添加到Gabbax0r回复:

Docker Swarm是一个独立的组件,用于将Docker引擎集中为一个。

截至Docker 1.12" Swarm" standalone集成在Docker引擎(read the preamble at this page)中,Swarm是(或将是)遗留。

要回复原来的问题,不同的情况只是不同的名称,但它们都是为了达到同样的目的。

要回复您的评论问题,请在必须在单个节点上编排多容器应用时使用docker-compose;如果您不得不担心多节点和负载均衡以及所有这些高级内容,那么最好使用Swarm。

答案 2 :(得分:0)

docker-stack.yml 具有优于 docker-compose.yml 的优势:

  1. 单独更新

      

    在使用服务,群集和docker-stack.yml文件时,请记住,群集中支持服务的任务(容器) can be deployed on any node

    每次服务更新时,这可能会应用于不同的节点。

  2. 远程部署

      

    如果您在私有主机上运行 Docker Swarm ,则docker-stack.yml可用于使用SSH密钥远程访问应用程序并将其部署到主机。

    您甚至可以使用诸如Codefresh之类的服务。