从我读到的内容看来,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有什么好处?
似乎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
.你认为合适的解释......