我可以通过命令创建一个Docker容器
docker run <<image_name>>
我可以通过命令创建一个服务。
docker service create <<image_name>>
这两者的行为有什么区别?
何时需要创建服务而不是容器?
我可以通过命令创建一个Docker容器
docker run <<image_name>>
我可以通过命令创建一个服务。
docker service create <<image_name>>
这两者的行为有什么区别?
何时需要创建服务而不是容器?
docker service
命令在docker swarm中替代了docker run
。 docker run
是为单个主机解决方案构建的。它的整个想法是专注于本地容器在它所讲话的系统上。而在群集中,个别容器是无关紧要的。我们只需使用swarm服务来管理群集中的多个容器。Swarm将为我们编排服务的容器。
docker service create
主要用于docker swarm mode。 docker run
没有缩放的概念。使用--replicas
命令,您可以指定要创建的副本数量。这将在许多不同的节点上创建和管理容器的多个副本。有几个这样的选项可使用docker service create
和其他docker service ...
命令来管理多个容器。
docker run
,则不会在容器失败时重新创建容器。当使用docker service
命令时,我们并不是直接要求执行“创建单个容器”等操作,而是告诉编排系统:“将此作业放入您的队列中,当您可以执行Swarm上的该操作时,请执行它”。这意味着它具有回滚设施、故障缓解和大量内置智能。docker service create
,而在非Swarm模式下使用docker run
。您可以查阅有关Docker Swarm的资料以了解Docker服务。docker stack deploy
创建的。我更具体地说,我也可以通过命令创建服务。那么,我是否有使用 docker service create
命令的用例呢? - Shivadocker exec -it docker exec -it 1a2b3c4d5e6 /bin/bash
的命令,其中1a2b3c4d5e6
是Docker容器的十六进制ID。服务ID是字母数字混合的,例如qshbw3hciwv1
,如果我尝试使用该命令,则会出现错误。所以请问您能否给予建议? - therobyouknow
docker swarm init
进行初始化,然后创建的服务将在Swarm中运行。请查询有关Swarm的信息以了解服务。 - Riyafa Abdul Hameed