Docker Compose比Docker Swarm和Docker Stack有什么好处?

Kyl*_*ong 9 docker linux-containers docker-compose docker-swarm

从我读到的内容看来,Docker-Compose是一个在单个主机上创建多个容器的工具,而Docker Swarm是一个工具,可以在Docker Stack的帮助下完成同样的操作,但具有更多的控制权和多个主机.我浏览了教程,也遇到了这个帖子:

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

我得出的结论是,当你可以将Docker Swarm与Docker Stack一起使用时,没有理由使用Docker-Compose.他们甚至可以使用相同的docker-compose.yml.

似乎Docker-compose出现在swarm和堆栈之前,可能是swarm + stack的新解决方案使得compose过时,但它仍然是遗留原因.这个想法是否正确?如果没有,Docker-Compose在开发或生产环境方面对Docker Swarm和Docker Stack有什么好处?

And*_*inn 8

似乎Docker-compose出现在swarm和堆栈之前,可能是swarm + stack的新解决方案使得compose过时,但它仍然是遗留原因.这个想法是否正确?

简而言之,是的.Compose在所有Swarm之前出现(它起源于第三方实用程序fig).更糟糕的是,甚至还有两个不同的Swarms,旧的Swarm(一个是独立的工具)和Swarm模式(docker这些天内置于二进制文件中).

它似乎正在演变成内置于Docker中的服务和部署概念.但我猜想Docker Compose和Swarm Mode部署的东西会并存一段时间.

知道Docker Compose基础是一个名为libcompose(https://github.com/docker/libcompose)的库,其他第三方实用程序可以使用它来支持docker-compose.yml部署的文件格式(参见Rancher以及rancher-compose作为示例),这也是有益的. ).我想他们会努力继续支持libcompose.

我不清楚Docker Swarm部署的东西是否实际使用libcompose.在我粗略的搜索中,似乎Swarm模式没有实现libcompose并做自己的事情.我不确定这与Docker Compose和未来的关系libcompose.你认为合适的解释......