ホームページ 運用・保守 Linuxの運用と保守 Docker を使用してコンテナ障害の回復と自動再起動を行う方法

Docker を使用してコンテナ障害の回復と自動再起動を行う方法

Nov 07, 2023 pm 04:28 PM
docker 容器 回復 自動再起動

Docker を使用してコンテナ障害の回復と自動再起動を行う方法

Docker は、コンテナー テクノロジーに基づく軽量の仮想化プラットフォームとして、さまざまなシナリオで広く使用されています。実稼働環境では、コンテナの高可用性と自動障害回復が非常に重要です。この記事では、Docker を使用してコンテナ障害の回復と自動再起動を行う方法を、具体的なコード例を含めて紹介します。

1. コンテナの自動再起動の設定

Docker では、コンテナ実行時に --restart オプションを使用することでコンテナの自動再起動機能を有効にすることができます。一般的なオプションは次のとおりです:

  • no: 自動的に再起動しません。デフォルトのオプション;
  • always: 常に自動的に再起動;
  • on-failure: 0 以外のステータスによりコンテナが終了した場合にのみ自動的に再起動;
  • unless-stopped: そうでない場合手動で停止しない場合は、常に自動的に再起動します。

以下は、--restart オプションを使用してコンテナーの自動再起動を有効にする例です:

docker run -d --restart always nginx

この例では、--restart オプションを使用してコンテナーの自動再起動を有効にします。たとえば、nginx という名前の Docker コンテナを起動し、 --restart オプションを使用して常に自動的に再起動するようにコンテナを構成しました。

--restart オプションは、コンテナが失敗して終了した場合にのみ有効になることに注意してください。コンテナーを手動で停止した場合、自動的には再起動されません。コンテナーを手動で停止した後でも自動再起動を有効にしたい場合は、unless-stopped オプションを使用できます。

2. コンテナ障害復旧の構成

Docker では、コンテナ障害復旧とは通常、Docker Swarm などのクラスター管理ツールを使用してコンテナーを自動的に再スケジュールし、サービスの可用性を確保することを指します。以下は、Docker Swarm で自動フェイルオーバーを構成する方法を示す例です:

  1. Docker Swarm クラスターを作成します:

docker swarm init

    #クラスター内にサービスを作成します:
docker service create --name nginx --replicas 3 nginx

この例では、 nginx という名前のサービスを作成し、その番号を設定しますコピー数を 3 にします。

    サービスで障害回復を有効にします:
docker service update --update-lay 10s --update-Parallelism 2 --update-failure-action restart nginx

ここでの --update-lay オプションは、更新操作間の遅延時間を指定します。 --update-Parallelism オプションは、各更新の同時インスタンスの数を指定します。 --update-failure-action オプションは、アクションを指定します。更新が失敗したときに取得するため、ここではコンテナーを再起動するように設定します。

障害回復機能は、Docker Swarm などのクラスター管理ツールを使用する場合にのみ有効であることに注意してください。 docker run コマンドを直接使用してコンテナーを起動する場合、コンテナーを自動的に再起動するには --restart オプションのみを使用できます。

3. コンテナー障害の回復と自動再起動のコード例

以下は、 --restart オプションとクラスター管理ツール (以下のようなクラスター管理ツール) を使用してコンテナー障害を実装する方法を示す完全なコード例です。 Docker Swarm. 回復および自動再起動機能:

    docker-demo という名前の Docker Swarm クラスターを作成します:
docker swarm init --advertise-addr 127.0.0.1

    クラスター内に nginx という名前のサービスを作成し、そのレプリカの数を 3 に設定します。
docker service create --name nginx --replicas 3 nginx

    サービスで障害回復を有効にします:
docker service update --update-lay 10s --update-Parallelism 2 --update-failure-action restart nginx

    一定時間待機した後、コンテナを手動で停止します:
docker コンテナ停止

    一定時間待機した後、ビューコンテナー 自動的に再起動されるかどうか:
docker コンテナー ls

コンテナーが自動的に再起動される場合、そのステータスは実行中である必要があります。

コンテナ障害の回復と自動再起動の具体的な実装方法は異なり、シナリオが異なれば実装する方法も異なることに注意してください。上記の例は参考用であり、具体的な実装は実際の状況に応じて調整する必要があります。

概要

コンテナ障害の回復と自動再起動は、Docker コンテナの高可用性を確保するための重要な手段です。 Docker の自動再起動と障害回復機能を正しく構成することで、コンテナ障害によるサービスの中断時間を効果的に短縮できます。この記事では、 --restart オプションと Docker Swarm などのクラスター管理ツールを使用して、コンテナーの障害回復機能と自動再起動機能を実装する方法を説明し、具体的なコード例を示します。この記事が、Docker を使用する際の皆様のお役に立てれば幸いです。

以上がDocker を使用してコンテナ障害の回復と自動再起動を行う方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

中国のDocker画像ソースを変更する方法 中国のDocker画像ソースを変更する方法 Apr 15, 2025 am 11:30 AM

国内のミラーソースに切り替えることができます。手順は次のとおりです。1。構成ファイル/etc/docker/daemon.jsonを編集し、ミラーソースアドレスを追加します。 2。保存して終了した後、Docker Service Sudo SystemCtlを再起動してDockerを再起動して、画像のダウンロード速度と安定性を改善します。

Dockerデスクトップの使用方法 Dockerデスクトップの使用方法 Apr 15, 2025 am 11:45 AM

Dockerデスクトップの使用方法は? Dockerデスクトップは、ローカルマシンでDockerコンテナを実行するためのツールです。使用する手順には次のものがあります。1。Dockerデスクトップをインストールします。 2。Dockerデスクトップを開始します。 3。Docker Imageを作成します(DockerFileを使用); 4. Docker画像をビルド(Docker Buildを使用); 5。Dockerコンテナを実行します(Docker Runを使用)。

Dockerでミラーを作成する方法 Dockerでミラーを作成する方法 Apr 15, 2025 am 11:27 AM

Docker画像を作成する手順:ビルド命令を含むDockerFileを書きます。 Docker Buildコマンドを使用して、ターミナルで画像を作成します。画像にタグを付け、Dockerタグコマンドを使用して名前とタグを割り当てます。

docker lnmpの呼び方 docker lnmpの呼び方 Apr 15, 2025 am 11:15 AM

Docker LNMPコンテナコールステップ:コンテナの実行:Docker Run -D - Name LNMP -Container -P 80:80 -P 443:443 LNMPスタックコンテナIPを取得する:Docker Inspect LNMP -Container | GREP iPaddress Access Webサイト:http://< container ip>/index.phpsshアクセス:docker exec -it lnmp -container bash access mysql:mysql -u roo

Dockerコマンドの実行方法 Dockerコマンドの実行方法 Apr 15, 2025 am 11:24 AM

Dockerコマンドを実行する方法は? Dockerをインストールし、デーモンを起動します。一般的なDockerコマンド:Docker画像:表示画像の表示Docker PS:ディスプレイコンテナDocker run:run docker docker stop:Stop Container docker RM RM:Delete container container containerとcontainerとdocker exec:execute command docker adtach:adticle console docker logs:ディスプレイログドッカーのコミット:ミラー停止停止dock

Dockerバージョンを読む方法 Dockerバージョンを読む方法 Apr 15, 2025 am 11:51 AM

Dockerバージョンを取得するには、次の手順を実行できます。Dockerコマンド「Docker -version」を実行して、クライアントバージョンとサーバーバージョンを表示します。 MacまたはWindowsの場合は、DockerデスクトップGUIのバージョンタブまたはDockerデスクトップメニューのバージョン情報を表示することもできます。

Docker画像を保存する方法 Docker画像を保存する方法 Apr 15, 2025 am 11:54 AM

Dockerに画像を保存するには、Docker Commitコマンドを使用して、指定されたコンテナの現在の状態、Syntax:Docker Commit [Options]コンテナID画像名を含む新しい画像を作成できます。画像をリポジトリに保存するには、Docker Pushコマンド、Syntax:Docker Push Image Name [:Tag]を使用できます。保存された画像をインポートするには、Docker Pullコマンド、Syntax:Docker Pull Image Name [:Tag]を使用できます。

Dockerによるプライベートリポジトリを構築する方法 Dockerによるプライベートリポジトリを構築する方法 Apr 15, 2025 am 11:06 AM

Dockerプライベートリポジトリを構築して、コンテナ画像を安全に保存および管理し、厳格な制御とセキュリティを提供できます。手順には、リポジトリの作成、アクセスの付与、リポジトリの展開、画像のプッシュ、および画像の引くなどがあります。利点には、セキュリティ、バージョン制御、ネットワークトラフィックの削減、カスタマイズが含まれます。

See all articles