ホームページ > 運用・保守 > Docker > Docker Swarmでサービスを管理するにはどうすればよいですか?

Docker Swarmでサービスを管理するにはどうすればよいですか?

Robert Michael Kim
リリース: 2025-03-17 16:22:28
オリジナル
505 人が閲覧しました

Docker Swarmでサービスを管理するにはどうすればよいですか?

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 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 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回の失敗した試みの後に容器を不健康だと考えるヘルスチェックを備えたサービスを作成します。

  • サードパーティの監視ツール: PrometheusやGrafanaなどのツールをDocker Swarmと統合して、サービスの健康のより高度な監視と視覚化を提供できます。

ダウンタイムなしでDocker Swarmのサービスを更新するには、どのような手順が必要ですか?

ダウンタイムなしでDocker Swarmでサービスを更新するには、ローリングアップデートプロセスが含まれます。これを達成するための手順は次のとおりです。

  1. 新しい画像の準備:コンテナ画像の新しいバージョンがレジストリで利用できることを確認してください。
  2. ローリングアップデートを開始します。 --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つのタスクに更新を展開します。

  3. 更新の監視: docker service psコマンドを使用して、更新されたタスクのステータスを監視します。

     <code class="bash">docker service ps my-nginx</code>
    ログイン後にコピー
    ログイン後にコピー

    このコマンドは、どのタスクが更新され、どのタスクが古いバージョンを実行しているかを追跡するのに役立ちます。

  4. 更新の確認:更新が完了したら、 docker service logsdocker service inspectください。

     <code class="bash">docker service logs my-nginx docker service inspect --pretty my-nginx</code>
    ログイン後にコピー

これらの手順に従って、適切なオプションを備えた適切なコマンドを使用することにより、ダウンタイムなしでDocker Swarmでサービスを更新できるようにします。

以上がDocker Swarmでサービスを管理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート