我想知道这些事情之间有什么区别。他们有几乎相同的命令并给出相同的结果。
答案 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 stack
对docker service
执行的所有操作。
最后但同样重要的是,您可以认为docker service
vs docker stack
与docker run
vs docker compose
相同,但在docker swarm群集中。
答案 1 :(得分:28)
服务定义在一台或多台计算机上部署的单个映像的一个或多个实例(由docker-compose.yaml的服务部分中的一个条目描述)文件)。
Stack 定义了一组异构服务(由整个yaml文件描述)。