Docker デプロイメント Consul 構成プロセスの分析

Docker デプロイメント Consul 構成プロセスの分析

コマンドを実行

docker run -d --name consul -p 8500:8500 consul

ポートの説明

https://www.consul.io/docs/install/ports.html

取り付け手順

/consul/data: 永続的なデータストレージ
/consul/config: 設定ファイル

Consul の設定

https://www.consul.io/docs/agent/options.html

注: ブラウザでhttp://public network ip:8500を開きます。

クラスターの展開

領事エージェント4人、サーバー3台(リーダーが選出されます)、クライアント1台を起動します。

#最初のサーバー ノードを起動します。クラスターには 3 台のサーバーが必要です。コンテナー ポート 8500 をホスト ポート 8900 にマップし、管理インターフェイスを開きます。
docker run -d --name=consul1 -p 8900:8500 -e CONSUL_BIND_INTERFACE=eth0 コンスルエージェント --server=true --bootstrap-expect=3 --client=0.0.0.0 -ui

#2番目のサーバーノードを起動し、クラスターに参加します
docker run -d --name=consul2 -e CONSUL_BIND_INTERFACE=eth0 コンスルエージェント --server=true --client=0.0.0.0 --join 172.17.0.2

#3番目のサーバーノードを起動し、クラスターに参加します
docker run -d --name=consul3 -e CONSUL_BIND_INTERFACE=eth0 コンスルエージェント --server=true --client=0.0.0.0 --join 172.17.0.2

#4番目のクライアントノードを起動し、クラスターに参加します
docker run -d --name=consul4 -e CONSUL_BIND_INTERFACE=eth0 コンスルエージェント --server=false --client=0.0.0.0 --join 172.17.0.2

最初に起動されるコンテナの IP アドレスは通常 172.17.0.2 であり、後で起動されるコンテナの IP アドレスは 172.17.0.3、172.17.0.4、172.17.0.5 になります。

これらの Consul ノードは Docker コンテナ内で相互運用可能であり、ブリッジ モードを通じて通信します。ただし、ホストがコンテナ内のネットワークにアクセスする場合は、ポート マッピングが必要です。最初のコンテナを起動するときに、Consul のポート 8500 をホストのポート 8900 にマップして、ホストのブラウザからクラスター情報を簡単に表示できるようにします。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Dockerイントラネット侵入FRP展開の実装プロセスの分析
  • Docker を使用した nGrinder パフォーマンス テスト プラットフォームの導入プロセスの分析
  • Docker を使用して MySQL および Redis サービスをデプロイする方法
  • Docker に Tomcat をインストールし、Springboot プロジェクトの WAR パッケージをデプロイする方法
  • Docker コンテナで DockerFile を使用して複数の Tomcat サービスをデプロイする手順
  • Docker イメージの作成、アップロード、プル、およびデプロイ操作 (Alibaba Cloud を使用)
  • docker+gitlab+gitlab-runnerの詳細なデプロイメント
  • Docker を使用してスタンドアロン Pulsar とクラスター化された Redis をデプロイする方法 (開発アーティファクト)

<<:  JavaScriptプロトタイプとプロトタイプチェーンを徹底的に理解する

>>:  MySQL が暗黙のデフォルト値を処理する方法

推薦する

MySQL共通インデックスとユニークインデックスの詳細な説明

シナリオ1. ID番号のフィールドを備えた市民システムを維持する2. ビジネス コードでは、重複する...

jsはユーザーのページ操作を記憶するためにクッキーを使用します

序文開発プロセスでは、ブラウザレベルでユーザーが実行した操作を記憶するなど、同様の要件に遭遇すること...

mysql 5.7.20 win64 のインストールと設定方法

mysql-5.7.20-winx64.zipインストール手順のないインストール パッケージ: ht...

要素動的ルーティングブレッドクラムの実装例

マスターするには: localStorage、コンポーネントのカプセル化えーと、GIF に変換したビ...

TomcatはNginxリバースプロキシのクライアントドメイン名を取得します

質問Nginx リバース プロキシの後、Tomcat アプリケーションは、クライアント ブラウザーの...

CSS 属性を使用してマウス イベントをブロックする方法 (マウス クリックは上位の要素を貫通する可能性があります)

由来: 数日前、テスターから写真を見るという要件が送られてきました。 この要件を見たとき、私は少し混...

...

MySQL の WriteSet 並列レプリケーションの簡単な分析

【歴史的背景】私は 3 年間 MySQL-DBA として働いてきましたが、MySQL が「基本的に利...

Vue ルーティング遅延読み込みの詳細

目次1. ルートの遅延読み込みとは何ですか? 2. ルートの遅延読み込みの使用1. ルートの遅延読み...

js 加算、減算、乗算、除算の正確な計算方法のサンプルコード

序文コンピュータの数値は浮動小数点であるため、計算プロセス中に取得されるデータは通常正確ではなく、そ...

MySQL 5.5 のインストールと設定のグラフィックチュートリアル

MySQL 5.5 のインストールと構成のチュートリアル ノートを整理し、全員と共有します。 1.公...

MySQL 学習データベースバックアップの詳細な説明

目次1.DB、DBMS、SQL 2. データベースの特徴3. SQL分類4. MySQLを起動および...

Vue の要素カレンダー コンポーネントを使用したサンプル コード

まず効果図を見てみましょう: 完全なコードは添付されています <テンプレート> <...

Vueはページング機能を実装する

この記事の例では、ページング機能を実装するためのVueの具体的なコードを参考までに共有しています。具...

JavaScript の Set データ構造の詳細な説明

目次1. セットとは何か2. セットコンストラクタ2.1) 配列2.2) 文字列2.3) 議論2.4...