目次
ステップ 1 — Consul Docker イメージをプルする
ステップ2 — Consul コンテナの実行
ステップ 3 — Consul のインストールの確認
ステップ 4 — ファイアウォールの構成 (オプション)
ステップ 5 — キーと値のペアの保存
ステップ 6 — キーと値のペアの取得
ステップ 7 — Docker を使用したデータの永続化ボリューム
ステップ 8 — Consul の起動を自動化する (オプション)
ステップ 9 — クリーンアップ
ホームページ 運用・保守 Docker Docker を使用して Consul KV を構成する方法

Docker を使用して Consul KV を構成する方法

Jan 10, 2025 pm 04:31 PM
docker

HashiCorp の Consul は、複数の機能を提供する多用途ツールです 最新の DevOps 環境で。サービスの発見に広く使用されています。 ヘルスチェック、ロードバランシング、そして特に分散キーバリューとして (KV)ストア。 Consul の KV ストアは動的保存に最適です 構成データ、機能フラグ、シークレット、およびメタデータを高度なレベルで管理します。 インフラストラクチャ全体で一貫した方法で利用できるため、 分散システム内のサービスによって動的にアクセスされる可能性があります。使用する Consul の KV ストアを構成する Docker により、迅速なセットアップと 隔離された環境なので、テストと開発に最適です。

このチュートリアルでは、セットアップと開発のプロセスについて説明します。 Docker を使用して Consul の KV ストアを構成します。最後には、 KV ペアを使用して Docker で実行される完全に機能する Consul インスタンス 設定済みでアクセス可能です。この設定は動的サービスに不可欠です

ステップ 1 — Consul Docker イメージをプルする

Docker Hub から公式の Consul イメージをプルしましょう。この画像は HashiCorp によって保守されており、Consul を実行するために必要なものがすべて含まれています。

Ubuntu Droplet のコンソールにログインし、実行:

docker pull hashicorp/consul:latest
ログイン後にコピー
Outputlatest: Pulling from hashicorp/consul
c8bcd218a73d: Pull complete 
5f1ac8227c2a: Pull complete 
c51fd79d429a: Pull complete 
91eff479bde6: Pull complete 
4dfcc18e51db: Pull complete 
3e2a8bf39bf9: Pull complete 
bd9ddc54bea9: Pull complete 
2054d291fb84: Pull complete 
Digest: sha256:e244c64df77ab3586f177f1692e98575086eb40343dc82a6320f5e79543490eb
Status: Downloaded newer image for hashicorp/consul:latest
docker.io/hashicorp/consul:latest
ログイン後にコピー

ステップ2 — Consul コンテナの実行

Consul イメージがダウンロードされたので、新しい Consul を開始できます 容器。このコンテナは Consul サーバーとして機能し、 KV ストアと対話できるようになります。

コンテナを起動するには、実行:

docker run -d --name=consul-server -e
ログイン後にコピー
ログイン後にコピー
OutputCONSUL_BIND_INTERFACE=eth0 -p 8500:8500 -p 8600:8600/udp hashicorp/consul
c893b6707686bce8434213975a75c936b834cf25fc84d10b407a11c4fa8ca8ba
ログイン後にコピー

はこちらこのコマンドの動作:

  • -d はコンテナーを分離モード (バックグラウンド) で実行します。
  • --name=consul-server はコンテナーに名前を割り当てます。
  • -e CONSUL_BIND_INTERFACE=eth0 は、Consul がバインドするネットワーク インターフェイスを設定します。これは適切なネットワーク通信に必要です。
  • -p 8500:8500 は、Consul Web UI と API ポートをホストにマップします。
  • -p 8600:8600/udp は、DNS サービス ポートをマップします。サービス検出。

このステップは、コア Consul サービスを設定するため重要です。 KV ストアの設定に使用します。

ステップ 3 — Consul のインストールの確認

Consul が正しく実行されていることを確認するには、コンテナのステータスを確認し、Consul UI にアクセスする必要があります。

まず、docker ps を実行して実行中のコンテナをすべてリストし、Consul コンテナが

❯ docker ps                                                                                                      CONTAINER ID   IMAGE              COMMAND                  CREATED          STATUS          PORTS                                                                                    NAMES
c893b6707686   hashicorp/consul   "docker-entrypoint.s…"   51 seconds ago   Up 50 seconds   8300-8302/tcp, 8600/tcp, 8301-8302/udp, 0.0.0.0:8500->8500/tcp, 0.0.0.0:8600->8600/udp   consul-server
ログイン後にコピー

次に、Consul がアクセス可能かどうかを確認し、Web ブラウザを開いて、 http://localhost:8500. に移動すると、Consul UI が表示されます。

これ検証ステップは、領事が次のことを行っていることを確認するために重要です。 データを KV に保存する前はインスタンスが問題なく実行されている store (ステップ 5).

ステップ 4 — ファイアウォールの構成 (オプション)

Consul インスタンスに外部からアクセスする必要がある場合 (例: クラスター内の他のノード)、ファイアウォール設定を次のように調整する必要があります。 必要なポートでトラフィックを許可します。

たとえば、クラウド インスタンスで Consul を実行している場合、次のようにすることができます。 ポート 8500 (HTTP API) および 8600 (DNS) での受信トラフィックを許可する必要があります。 特定のコマンドは、ファイアウォール ソリューション (UFW、

このステップにより、Consul インスタンスが他のインスタンスからアクセスできるようになります。

ステップ 5 — キーと値のペアの保存

Consul を実行すると、KV ストアを使用してキーと値のペアを保存できるようになります。 構成データ。 Consul CLI を使用してキーと値のペアを追加するか、 Web UI。

CLI 経由でキーと値のペアを保存するには、実行:

docker exec -it consul-server consul kv put config/db_host 
192.168.1.100
Success! Data written to: config/db_host
ログイン後にコピー
docker exec -it consul-server consul kv put config/db_port 3306         Success! Data written to: config/db_port
ログイン後にコピー

はこちらこのコマンドの動作:

  • -it - ローカル システムからコンテナへの対話型ターミナルを起動します。
  • consul kv put - kv put コマンドは、指定されたパス KV にデータを書き込みます。 store.
  • config/db_host - を保存するパスvalue.
  • 192.168.1.100 - Value.

Web UI を使用して、

  1. Consul UI に移動します (http://localhost:8500).
  2. 「キー/値」をクリックします
  3. 「作成」をクリックして新しいキーを作成します。
  4. キー (例: config/db_host) と値 (例: 192.168.1.100) を入力します。

これらのコマンドとアクションは、サービスが動的にアクセスできる重要な構成データを保存します。 runtime.

ステップ 6 — キーと値のペアの取得

いくつかの KV ペアを保存したら、それらを取得して正しく保存されていることを確認します。

CLI を使用して、次のように値を取得します。コマンド:

docker exec -it consul-server consul kv get config/db_host     
192.168.1.100
ログイン後にコピー

Web UI を使用して、

  1. Go Consul の「Key/Value」タブへUI。
  2. 作成したキーを見つけてクリックし、保存されている値を確認します。

Web GUI

KV ペアの取得は、次の目的に必要な手順です。データが正しく保存され、アクセスできることを確認します。

ステップ 7 — Docker を使用したデータの永続化ボリューム

デフォルトでは、Docker コンテナは一時的です。つまり、あらゆるデータが コンテナが取り外されると、その中に保存されているデータは失われます。持続するために Consul KV データを使用するには、Docker ボリュームを使用する必要があります。

  1. 現在の Consul を停止して削除しますコンテナ:
docker stop consul-server 
docker rm consul-server
ログイン後にコピー

さて、コンテナを確認すると、Consul コンテナが含まれていないことがわかります。走っている

docker ps CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
ログイン後にコピー

2. Docker ボリュームを使用して新しい Consul コンテナを実行します添付:

docker run -d --name=consul-server -e
ログイン後にコピー
ログイン後にコピー
OutputCONSUL_BIND_INTERFACE=eth0 -p 8500:8500 -p 8600:8600/udp -v consul_data:/consul/data hashicorp/consul
2d2a7d3ff1911c2283e70506d68391a5cbf9c935a2ae447bfb8fa21481989ef1
ログイン後にコピー
docker ps
ログイン後にコピー
ログイン後にコピー
OutputCONTAINER ID   IMAGE              COMMAND                  CREATED         STATUS         PORTS                                                                                    NAMES
2d2a7d3ff191   hashicorp/consul   "docker-entrypoint.s…"   5 seconds ago   Up 4 seconds   8300-8302/tcp, 8600/tcp, 8301-8302/udp, 0.0.0.0:8500->8500/tcp, 0.0.0.0:8600->8600/udp   consul-server
ログイン後にコピー

-v consul_data:/consul/data オプションは、Docker ボリュームをコンテナにマウントし、コンテナの再起動後も KV ストアが保持されるようにします。

ステップ 8 — Consul の起動を自動化する (オプション)

運用環境の場合デプロイメントの場合、起動を自動化することもできます。 Docker Compose を使用して Consul コンテナを作成します。 Docker Compose による簡素化 マルチコンテナの Docker アプリケーションを使用できるようになり、管理が容易になります services.

次の内容を含む docker-compose.yml ファイルを作成します:

docker-compose,yml
services:
  consul:
    image: hashicorp/consul:latest    environment:
      - CONSUL_BIND_INTERFACE=eth0    volumes:
      - consul_data:/consul/data 
    ports:
      - "8500:8500"
      - "8600:8600/udp"
    restart: alwaysvolumes:
  consul_data:
ログイン後にコピー

それでは、実行:

docker-compose up -d
ログイン後にコピー
Output[ ] Running 2/2
 ✔ Network work_default     Created                                                                                                           0.0s 
 ✔ Container consul-server  Started                                                                                                           0.1s
ログイン後にコピー
docker ps
ログイン後にコピー
ログイン後にコピー
OutputWARN[0000] /Users/anandhkumar/work/docker-compose.yml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion 
NAME            IMAGE                     COMMAND                  SERVICE   CREATED          STATUS          PORTS
work-consul-1   hashicorp/consul:latest   "docker-entrypoint.s…"   consul    40 seconds ago   Up 11 seconds   8300-8302/tcp, 8600/tcp, 8301-8302/udp, 0.0.0.0:8500->8500/tcp, 0.0.0.0:8600->8600/udp
ログイン後にコピー

これコマンドは Consul を自動的に起動し、失敗した場合には確実に再起動するため、運用環境での使用に対してより堅牢になります。

ステップ 9 — クリーンアップ

Consul インスタンスの操作が終了したら、次のことを行う必要があります。 Docker 環境をクリーンアップしてリソースを解放してください。

Consul を停止して削除しましょうコンテナ:

docker stop consul-server   
docker rm consul-serverdocker ps
ログイン後にコピー
outputCONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
ログイン後にコピー

の場合Consul は完了です。Docker を削除することもできます画像:

docker rmi hashicorp/consul
ログイン後にコピー
outputhashicorp/consul@sha256:e244c64df77ab3586f177f1692e98575086eb40343dc82a6320f5e79543490eb
Deleted: sha256:eff8ccb509560987755a70df8d6c0b9410538d503d99498ae1ea9f48066b0439
Deleted: sha256:b5e6402bbb78eb061d538505a30300ef7f612104eaf0f11b17839a9b29bc5603
Deleted: sha256:1c61ada2ad8074615120d13bd805260d766ae8424cafbda4bded529d6a204d6f
Deleted: sha256:9b36da670e2a59f1d81c6e3c9d55906c576b384df51272977e5a9caea7131e74
Deleted: sha256:8c6e52c441c246f60ca146b71204b7d6511df75fa87a0dc0a0f91141964e8fd9
Deleted: sha256:1fce18208235de2be3c419764ec1d469229af5387447d21649c841632c653cef
Deleted: sha256:68e0a114c9c35b9aa8cac31fa32b27f886361bc85fcc63f34e882e9128f33a14
Deleted: sha256:3da5b888208a9b19694bfeaf8c74a432b50f44542d717c9e1f3ab273e505855a
Deleted: sha256:dea73e9287e6e2f3b7f9fcac4f20767d7badeefa24e52f990f1674e98abfa1a3
Deleted: sha256:201fa22d1f4c7d6e7ec43135c63b2260f303f4864f5eb43569faaa1731628799
ログイン後にコピー

クリーニングup は、整然とした開発環境を維持し、Docker リソースが不必要に消費されないようにするのに役立ちます。

以上がDocker を使用して Consul KV を構成する方法の詳細内容です。詳細については、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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の 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 pm 12:15 PM

Dockerコンテナを終了する4つの方法:コンテナ端子でCtrl Dを使用するコンテナターミナルに出口コマンドを入力しますDocker stop< container_name>コマンドを使用するDocker Kill< container_name>ホストターミナルのコマンド(フォース出口)

Dockerのファイルを外部にコピーする方法 Dockerのファイルを外部にコピーする方法 Apr 15, 2025 pm 12:12 PM

Dockerの外部ホストにファイルをコピーする方法:Docker CPコマンドを使用:Docker CP [Options]< Container Path> <ホストパス>。データボリュームの使用:ホストにディレクトリを作成し、-vパラメーターを使用してコンテナを作成するときにディレクトリをコンテナにマウントして、双方向ファイルの同期を実現します。

Dockerを再起動する方法 Dockerを再起動する方法 Apr 15, 2025 pm 12:06 PM

Dockerコンテナを再起動する方法:コンテナID(Docker PS)を取得します。コンテナを停止します(docker stop< container_id>);コンテナを起動します(docker start< container_id>);再起動が成功していることを確認します(Docker PS)。その他の方法:Docker Compose(Docker-Compose Restart)またはDocker API(Dockerドキュメントを参照)。

Dockerコンテナの名前を確認する方法 Dockerコンテナの名前を確認する方法 Apr 15, 2025 pm 12:21 PM

すべてのコンテナ(Docker PS)をリストする手順に従って、Dockerコンテナ名を照会できます。コンテナリストをフィルタリングします(GREPコマンドを使用)。コンテナ名(「名前」列にあります)を取得します。

Dockerによってコンテナを起動する方法 Dockerによってコンテナを起動する方法 Apr 15, 2025 pm 12:27 PM

Docker Containerの起動手順:コンテナ画像を引く:「Docker Pull [Mirror Name]」を実行します。コンテナの作成:「docker create [options] [mirror name] [コマンドとパラメーター]」を使用します。コンテナを起動します:「docker start [container name or id]」を実行します。コンテナのステータスを確認してください:コンテナが「Docker PS」で実行されていることを確認します。

DockerによるMySQLを開始する方法 DockerによるMySQLを開始する方法 Apr 15, 2025 pm 12:09 PM

DockerでMySQLを起動するプロセスは、次の手順で構成されています。MySQLイメージをプルしてコンテナを作成および起動し、ルートユーザーパスワードを設定し、ポート検証接続をマップしてデータベースを作成し、ユーザーはすべての権限をデータベースに付与します。

Dockerの画像を更新する方法 Dockerの画像を更新する方法 Apr 15, 2025 pm 12:03 PM

Docker画像を更新する手順は次のとおりです。最新の画像タグ新しい画像をプルする新しい画像は、特定のタグのために古い画像を削除します(オプション)コンテナを再起動します(必要に応じて)

Docker用のコンテナを作成する方法 Docker用のコンテナを作成する方法 Apr 15, 2025 pm 12:18 PM

Dockerでコンテナを作成します。1。画像を引く:Docker Pull [ミラー名]2。コンテナを作成:Docker Run [Options] [Mirror Name] [コマンド]3。コンテナを起動:Docker Start [Container Name]

See all articles