docker服务和docker容器之间的区别

时间:2019-01-01 11:59:19

标签: docker docker-swarm

我可以通过命令创建docker容器

docker run <<image_name>>

我可以通过命令创建服务

docker service create <<image_name>>

这两种行为之间有什么区别?

何时需要通过容器创建服务?

2 个答案:

答案 0 :(得分:2)

docker swarm中的

docker service命令替换了docker rundocker run是为单主机解决方案构建的。它的整个想法是将重点放在与之通信的系统上的本地容器上。而在集群中,各个容器是无关紧要的。我们仅使用群服务来管理集群中的多个容器。 Swarm将为我们精心安排服务的容器。

docker service create主要用于docker swarm mode中。 docker run没有放大/缩小的概念。使用docker service create,您可以使用--replicas命令指定要创建的副本数。这将在许多不同的节点中创建和管理容器的多个副本。使用docker service createdocker service ...

下的其他命令来管理多个容器有几种这样的选项。

更多注意事项:docker服务适用于容器编排系统(群发)。它内置了故障恢复功能。即。它在失败时重新创建一个容器。 docker run将永远不会重新创建容器,如果它失败了。使用docker service命令时,我们不是直接要求执行“创建单个容器”之类的操作,而是要告诉业务流程系统“将该作业放入您的队列中,以及何时可以执行该作业。蜂拥而至的行动”。这意味着它具有回滚功能,故障缓解和内置的大量智能功能。

在群体模式下,您需要考虑使用docker service create;在非群体模式下,则需要考虑使用docker run。您可以查找Docker群以了解Docker服务。

答案 1 :(得分:1)

没有真正的区别。在官方documentation中,您可以阅读“服务实际上只是生产中的容器”。

服务可以在“ docker-compose.yml”中声明,并可以从中启动。一旦启动,它们将作为容器运行。

这只是命名堆栈中各个部分的常用方法。