docker服务和堆栈有什么区别?

时间:2017-06-02 12:32:54

标签: docker-compose docker-swarm

我想知道这些事情之间有什么区别。他们有几乎相同的命令并给出相同的结果。

2 个答案:

答案 0 :(得分:37)

在docker swarm群集上管理单个服务时使用docker service。它是访问docker swarm manager的客户端命令行。

docker stack可用于管理多服务应用程序。它还会将您在docker service上输入的许多选项移动到.yml file(例如docker-cloud.yml或docker-compose.yml),以便于重用。它作为Docker swarm群集使用的docker swarm管理器顶部的前端“脚本”,因此您可以执行docker stackdocker service执行的所有操作。

最后但同样重要的是,您可以认为docker service vs docker stackdocker run vs docker compose相同,但在docker swarm群集中。

答案 1 :(得分:28)

服务定义在一台或多台计算机上部署的单个映像的一个或多个实例(由docker-compose.yaml的服务部分中的一个条目描述)文件)。

Stack 定义了一组异构服务(由整个yaml文件描述)。