我想知道这些事情之间的区别是什么。他们几乎具有相同的命令并给出相同的结果。
在Docker Swarm群集上管理单个服务时,使用docker service
。它是访问Docker Swarm Manager的客户端命令行。
docker stack
可用于管理多服务应用程序。它还将您将在docker service
上输入的许多选项移动到.yml file
(例如docker-cloud.yml或docker-compose.yml(中,以便于重复使用。它在Docker Swarm Cluster使用的Docker Swarm Manager上方作为前端"脚本",因此您可以使用docker stack
使用docker service
来完成所有操作。
最后但并非最不重要的一点是,您可以考虑docker service
与docker stack
与docker run
与docker compose
相同,但是在Docker swarm cluster中。
a service 定义了部署在一台或多台机器上的一个或多个实例(由服务中的一个条目描述(docker-compose.yaml文件的一部分(。
a stack 定义了一组异质服务(由整个yaml文件描述(。
docker stack deploy
的语义可以简化您的释放自动化过程,因为它将自动检测和更新现有服务。使用docker service
时,您必须指定是否创建或更新可能需要更复杂逻辑的服务。
另请参见:
- docker stack部署
- Docker服务创建
- Docker服务更新