Docker Swarmのサービスの管理には、サービスの作成、スケーリング、更新、監視などのさまざまなタスクが含まれます。ここにいくつかの重要な手順とコマンドがあります:
サービスの作成:サービスを作成するには、 docker service create
コマンドを使用します。たとえば、nginxコンテナを実行するサービスを作成するには、以下を使用します。
<code class="bash">docker service create --name my-nginx --replicas 3 nginx</code>
このコマンドは、3つのレプリカを備えた「mynginx」という名前のサービスを作成します。
リストサービス:すべてのサービスを表示するには、使用してください。
<code class="bash">docker service ls</code>
このコマンドは、群れのすべてのサービスをリストします。
サービスの検査:サービスに関する詳細情報を取得するには、以下を使用してください。
<code class="bash">docker service inspect --pretty my-nginx</code>
このコマンドは、「mynginx」という名前のサービスに関する詳細情報を提供します。
サービスの削除:サービスを削除する必要がある場合は、以下を使用してください。
<code class="bash">docker service rm my-nginx</code>
このコマンドは、「mynginx」という名前のサービスを削除します。
サービスの更新:サービスを更新するには(例えば、レプリカの数を変更します)、使用してください。
<code class="bash">docker service update --replicas 5 my-nginx</code>
このコマンドは、5つのレプリカで実行されるサービス「my-nginx」を更新します。
Docker Swarmのスケーリングサービスは、需要に応じてサービスのレプリカの数を調整するために重要です。サービスをスケーリングするには、 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 Swarmのサービスの健康を監視することで、彼らが正しく実行されていることを確認することができます。これを行うためのいくつかの方法があります:
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 Service Inspect:前述のように、このコマンドは、健康状態を含むサービスに関する詳細情報を提供できます。
<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 Swarmでサービスを更新するには、ローリングアップデートプロセスが含まれます。これを達成するための手順は次のとおりです。
ローリングアップデートを開始します。 --update-parallelism
と--update-delay
フラグを使用してdocker service update
コマンドを使用して、ローリングアップデートプロセスを制御します。たとえば、ダウンタイムなしの新しい画像で「my-nginx」を更新するには:
<code class="bash">docker service update --image nginx:latest --update-parallelism 1 --update-delay 10s my-nginx</code>
このコマンドは、「my-nginx」サービスを最新のnginxイメージに更新し、各タスクの更新の間に10秒遅れの遅延で1つのタスクに更新を展開します。
更新の監視: 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 Swarmでサービスを更新できるようにします。
以上がDocker Swarmでサービスを管理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。