Docker群中的服務涉及一系列任務,例如創建,擴展,更新和監視服務。這是一些關鍵步驟和命令:
創建服務:要docker service create
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中文網其他相關文章!