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 が暗黙のデフォルト値を処理する方法

推薦する

JS で美しい条件式を書く方法についての簡単な説明

目次複数の条件文複数属性オブジェクトスイッチステートメントを置き換えるデフォルトパラメータとデストラ...

Linuxカーネルとデバイスツリーのコンパイルと書き込みを分析する

目次1. 材料を準備する2. Linuxカーネルファイルをダウンロードする3. コンパイル4. TF...

Linux での MySQL のインストールに関するチュートリアル

目次1. 古いバージョンを削除する2. サーバーのカーネルタイプを確認し、適切なバージョンをダウンロ...

Linux gzipコマンドの使用

1. コマンドの紹介gzip (GNU zip) コマンドは、ファイルの圧縮と解凍に使用されます。こ...

操作タイムアウトがないときにMySQLサーバーがアクティブに切断される問題を解決します

MySQL サービスを使用する場合、通常の状況では、MySQL のタイムアウト設定は 8 時間 (2...

XHTML 特殊文字コレクション

注意&#160;ノーブレークスペース = ノーブレークスペース、 iexcl ¡ &...

MySQLで行または列をソートする方法

方法:説明: どちらも達成できません:方法1: sp_product から sp.productid...

Vue3でアイコンを使用する2つの例

目次1. SVGを使用する2. fontAwesomeを使用する3 ソース4 結論テクノロジースタッ...

複数のサーバーにNginxリバースプロキシを実装する方法

Nginx は複数のサーバーをリバース プロキシします。つまり、nginx に異なるリクエストを送信...

MySQLでストアドプロシージャをデバッグする最も簡単な方法

同僚から、一時テーブルを使用して変数データを挿入して表示する方法を教わったことがありますが、この方法...

あなたをエキスパートに見せるための 13 個の JavaScript ワンライナー

目次1. ランダムなブール値( true / false )を取得する2. 指定された日付が営業日で...

MySQLの結合クエリ、ユニオンクエリ、サブクエリの原理と使用例の詳細な説明

この記事では、例を使用して、MySQL の結合クエリ、結合クエリ、サブクエリの原理と使用方法を説明し...

JSは星を消すケースを実現する

この記事の例では、星を消すためのJSの具体的なコードを参考までに共有しています。具体的な内容は次のと...

HTML における src と href の違いについての簡単な説明

簡単に言うと、srcは「このリソースをロードしたい」という意味で、hrefは「このリソースに関連付け...

MYSQL の 10 の典型的な最適化ケースとシナリオ

目次1. SQL最適化の一般的な手順1. SQL実行計画の分析を説明する2. プロフィール分析を表示...