【问题标题】:Docker: Difference between `docker run` and `docker service`Docker:`docker run`和`docker service`之间的区别
【发布时间】:2025-12-13 00:15:01
【问题描述】:

我对@9​​87654321@ 很陌生,刚开始涉足这个领域。我在网上读到了这个。我知道docker的以下命令是:docker rundocker service。据我了解,使用docker run,我们正在旋转一个新的container。但是我不清楚docker service 做什么?它是否在Swarm 中旋转容器?

谁能帮忙理解一下通俗易懂?

【问题讨论】:

    标签: docker docker-swarm


    【解决方案1】:

    docker run 命令在本地 docker 主机上创建并启动一个容器。

    一个 docker “服务” 是一个或多个在 docker 的 swarm 模式下运行的具有相同配置的容器。它类似于docker run,因为你启动了一个容器。不同之处在于您现在有了编排。如果停止,该编排会重新启动您的容器,根据您的约束找到合适的节点来运行容器,向上或向下扩展您的服务,允许您使用网状网络和 VIP 来发现您的服务,并执行滚动更新以在更改正在运行的应用程序期间将停机风险降至最低。

    【讨论】:

      【解决方案2】:

      Docker Run 与 Docker 服务

      docker run:

      我们可以创建多个具有不同图像的容器。

      docker service:

      我们可以在一个命令行中创建多个具有相同图像的容器。

      语法:

      docker service create --name service-name --network network-name --replicas number-of-containers image-name
      

      示例:

      docker service create --name service1 --network swarm-net --replicas 5 redis
      

      【讨论】: