我是新的docker-user。在不同的手册中,我发现通常使用docker-compose.yml文件来描述docker job,但是在docker site上这个目标使用了docker-stack.yml文件。有什么区别?
答案 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 的优势:
单独更新
在使用服务,群集和docker-stack.yml文件时,请记住,群集中支持服务的任务(容器) can be deployed on any node 。
每次服务更新时,这可能会应用于不同的节点。
远程部署
如果您在私有主机上运行 Docker Swarm ,则docker-stack.yml可用于使用SSH密钥远程访问应用程序并将其部署到主机。
您甚至可以使用诸如Codefresh之类的服务。