Docker Service和Docker Container有什么区别?

我们什么时候使用docker服务创build命令,什么时候使用docker run命令?

简而言之: Docker服务主要在您使用Docker swarmconfiguration主节点时使用,因此docker容器将在分布式环境中运行,并且可以轻松pipe理。

Docker运行: docker run命令首先在指定的映像上创build一个可写容器层,然后使用指定的命令启动它。

也就是说,docker运行相当于API / containers / create then / containers /(id)/ start

来源: https : //docs.docker.com/engine/reference/commandline/run/#parent-command

Docker服务: Docker服务将成为一些较大应用程序上下文中的微服务的映像。 服务的例子可能包括HTTP服务器,数据库或任何其他types的可执行程序,您希望在分布式环境中运行。

创build服务时,指定要使用哪个容器映像以及在运行容器中执行哪些命令。 您还可以定义该服务的选项,包括:

  • 群体将在群体外提供服务的端口
  • 服务的覆盖networking连接到群中的其他服务
  • CPU和内存限制和保留
  • 滚动更新政策
  • 要在群体中运行的图像的副本数量

来源: https : //docs.docker.com/engine/swarm/how-swarm-mode-works/services/#services-tasks-and-containers

您可能想阅读“ docker服务是新的docker运行 ”

根据这些幻灯片,“docker服务创造”就像是一个“进化的”docker运行。 如果要将容器部署到Docker Swarm,则需要创build一个“服务”

Docker服务就像容器的“蓝图”。 你可以例如定义一个简单的工作人员作为服务,然后将这个服务扩展到20个容器,以便真正快速地通过一个队列。 之后,您再次将该服务缩减到3个容器。 而且,通过Swarm,这些容器可以被部署到你的群中的不同节点。

但是,我也推荐阅读文档,就像@Tristan的build议。

Docker运行将启动一个容器。

通过docker服务,您可以pipe理一组容器(来自同一图像)。 您可以缩放它们(启动多个容器)或更新它们。