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

推薦する

圧縮パッケージを使用して Linux 環境に JDK 13 をインストールする方法

JDK とは何ですか?まあ、この質問がわからないのであれば、なぜこれをインストールするのか本当にわか...

JS は Web ページナビゲーションバーの特殊効果を実現します

この記事では、ネイティブ JS を使用して実装された実用的な Web ナビゲーション バー効果を紹介...

純粋な HTML タグにどれくらい精通していますか?

以下の HTML タグには、基本的に既存のタグがすべて含まれています。数分かけて 1 つずつ参照する...

分散監視システムZabbixはSNMPとJMXチャネルを使用してデータを収集します

前回の記事では、Zabbix のパッシブ、アクティブ、Web 監視に関するトピックについて学習しまし...

Linux システムファイル共有 samba 設定チュートリアル

目次sambaをアンインストールしてインストールする新しい共有パスを作成し、権限を設定するSamba...

49 個の JavaScript のヒントとコツ

目次1. js整数の演算2. ネイティブアラートを書き換えてポップアップボックスの数を記録する3. ...

nginx+lua を使用した単一マシンでの何万もの同時接続の実装

nginx は弊社で最もよく使用されるサーバーで、コンテンツ配信やリバース プロキシによく使用されま...

ボタンに醜い灰色の枠線が付いています。これを削除するにはどうすればよいですか?

ダイアログをクロージャで使用し、右上隅の向こう側に閉じるボタンがあるダイアログを描画しました。ボタン...

フレックスレイアウトは、1行あたりの固定行数と適応レイアウトを実現します。

この記事では、1行あたりの固定行数+アダプティブレイアウトを実現するフレックスレイアウトを紹介し、皆...

HTMLの基本概念の詳細な説明

HTMLとは何ですか? HTML は Web ページを記述するために使用される言語です。 •HTML...

XHTML Web ページ チュートリアル

この記事は主に、初心者に XHTML の基本的な知識と、XHTML と HTML の違いを理解しても...

階段効果を実現するためのWeChatアプレットカスタムメニューナビゲーション

設計意図ページを開発する際には、ページ上のナビゲーション メニューをクリックしたときにページを対応す...

React における同期および非同期 setState の問題のコード分析

React は Facebook の社内プロジェクトとして始まりました。 React の出現は革命的...

メタビューポートタグ(モバイルブラウジングズームコントロール)の使用方法

OP が現在のファームウェアで Web ページを開くと、常に 50% にズームアウトされてから表示さ...