Docker群中的服务涉及一系列任务,例如创建,扩展,更新和监视服务。这是一些关键步骤和命令:
创建服务:要创建服务,请使用docker service create
Command。例如,要创建运行NGINX容器的服务,您将使用:
<code class="bash">docker service create --name my-nginx --replicas 3 nginx</code>
此命令创建了一个名为“ My-nginx”的服务,该服务具有3个副本。
清单服务:要查看所有服务,请使用:
<code class="bash">docker service ls</code>
此命令列出了群中的所有服务。
检查服务:要获取有关服务的详细信息,请使用:
<code class="bash">docker service inspect --pretty my-nginx</code>
此命令提供了有关名为“ My-nginx”的服务的详细信息。
删除服务:如果您需要删除服务,请使用:
<code class="bash">docker service rm my-nginx</code>
此命令删除了名为“ My-nginx”的服务。
更新服务:更新服务(例如,更改副本的数量),使用:
<code class="bash">docker service update --replicas 5 my-nginx</code>
此命令更新服务“ My-nginx”以使用5个复制品运行。
Docker群中的扩展服务对于根据需求调整服务的复制品数量至关重要。要扩展服务,请使用docker service scale
命令。例如,要将“ my-nginx”服务扩展到5个复制品,您将使用:
<code class="bash">docker service scale my-nginx=5</code>
此命令将“ My-nginx”服务的副本数更改为5。此外,您还可以使用docker service update
命令来扩展服务,如前所述:
<code class="bash">docker service update --replicas 5 my-nginx</code>
这两个命令都达到了相同的结果,但是docker service scale
是专门设计用于缩放的,而docker service update
可以处理更广泛的更新范围。
监视Docker群中服务的健康有助于确保它们正确运行。以下是几种方法:
Docker服务日志:您可以使用以下方式检查服务日志
<code class="bash">docker service logs my-nginx</code>
此命令检索“ MY-NGINX”服务的日志,这可以帮助识别问题。
Docker Service PS:要查看服务的运行任务,请使用:
<code class="bash">docker service ps my-nginx</code>
此命令显示与“ My-Nginx”服务关联的任务的当前状态。
Docker服务检查:如前所述,此命令可以提供有关服务的详细信息,包括健康状况:
<code class="bash">docker service inspect --pretty my-nginx</code>
服务定义中的健康检查:您可以在服务定义中定义健康检查。例如:
<code class="bash">docker service create --name my-nginx --health-cmd "curl -f http://localhost/" --health-interval 10s --health-retries 3 nginx</code>
该命令通过健康检查创建一项服务,该服务每10秒钟将容器调整一次,并在3次失败的尝试后认为容器不健康。
在没有停机时间的情况下更新Docker群中的服务涉及滚动更新过程。以下是实现这一目标的步骤:
启动docker service update
更新:使用--update-parallelism
和--update-delay
标志来控制滚动更新过程。例如,使用新图像更新“ My-nginx”,而无需停机时间:
<code class="bash">docker service update --image nginx:latest --update-parallelism 1 --update-delay 10s my-nginx</code>
此命令将“ MY-NGINX”服务更新为最新的NGINX映像,一次将更新推出到一个任务,每个任务更新之间有10秒的延迟。
监视更新:使用docker service ps
命令在更新时监视任务的状态:
<code class="bash">docker service ps my-nginx</code>
此命令可帮助您跟踪哪些任务已更新,并且仍在运行旧版本。
验证更新:更新完成后,使用docker service logs
和docker service inspect
确保服务按预期运行:
<code class="bash">docker service logs my-nginx docker service inspect --pretty my-nginx</code>
通过遵循以下步骤并使用适当的选项使用适当的命令,您可以确保在码头群中更新服务而无需停机。
以上是如何管理Docker群中的服务?的详细内容。更多信息请关注PHP中文网其他相关文章!