Docker のホスト間コンテナ通信オーバーレイ実装プロセスの詳細な説明

Docker のホスト間コンテナ通信オーバーレイ実装プロセスの詳細な説明

サーバーも 2 つあります。

準備:

コンテナのホスト名を設定する

consul: kv タイプのストレージ データベース (キー:値)
docker01 および 02 の場合:
:vim /etc/docker/daemon.json を実行します。
{
 "hosts":["tcp://0.0.0.0:2376","unix:///var/run/docker.sock"]、この行が変更された場合は、docker 構成ファイルを変更する必要があります "cluster-store": "consul://10.0.0.11:8500",
 "cluster-advertise": "10.0.0.11:2376" 他のマシンに独自の IP アドレスを書き込むことができます。
:vim /etc/docker/daemon.json を実行します。
vim /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd --containerd=/run/containerd/containerd.sock の行をこの行に変更します。両方のマシンで systemctl daemon-reload を変更する必要があります。
systemctl dockerを再起動します

docker01の場合:

docker run -d -p 8500:8500 -h consul --name consul progrium/consul -server -bootstrap このコマンドは、コンテナのホスト名を設定した後に実行されます [root@docker1 centos_zabbix]# docker images
リポジトリ タグ イメージ ID 作成 サイズ
10.0.0.11:5000/kode v2 6914fda5fd44 4 時間前 502MB
kode v2 6914fda5fd44 4時間前 502MB
10.0.0.11:5000/centos6.9_nginx_ssh v3 92b1087df3f5 13 時間前 431MB
centos6.9_nginx_ssh v3 92b1087df3f5 13 時間前 431MB
centos6.9_nginx_ssh v2 6307e23ee16d 13 時間前 431MB
<なし> <なし> b94c822488f9 13 時間前 431MB
centos6.9_nginx_ssh v1 f01eeebf918a 13 時間前 431MB
<なし> <なし> 54167f1d659b 13 時間前 431MB
<なし> <なし> 71474e616504 13 時間前 430MB
centos6.9_ssh v2 03387f99f022 14 時間前 307MB
<なし> <なし> 82d0e9ce844b 14時間前 195MB
kode v1 c0f486ac58fe 15時間前 536MB
progrium/consul 最新 09ea64205e55 4年前 69.4MB ここは [root@docker1 centos_zabbix]# docker ps -a
コンテナID イメージ コマンド 作成ステータス ポート名
1016753ee64d progrium/consul "/bin/start -server …" 4 分前 終了しました (255) 3 分前 53/tcp、53/udp、8300-8302/tcp、8400/tcp、8301-8302/udp、0.0.0.0:8500->8500/tcp consul

このページを最後に訪問した日時:

2) オーバーレイネットワークを作成する

docker network create -d overlay --subnet 172.16.1.0/24 --gateway 172.16.1.254 ol1 このネットワーク セグメントはホスト マシンと同じにすることはできません。このコマンドはどのマシンでも実行できます。

コンテナのネットワークをチェックして、オーバーレイが表示されるかどうかを確認します。

[root@docker1 シェル]# docker ネットワーク ls
ネットワーク ID 名前 ドライバー スコープ
e480a4fe5f4b ブリッジ ブリッジ ローカル
0a3cbfe2473f ホスト ホスト ローカル
4e5ccdc657e1 macvlan_1 macvlan ローカル
aab77f02a0b1 なし null ローカル
8ae111afded7 ol1 オーバーレイ グローバル

3) コンテナテストを開始する

1 台のマシンで:
docker run -it --network ol1 --name test01 centos6.9_ssh:v2 /bin/bash
別のマシンの場合:
docker run -it --network ol1 --name test02 centos6.9_ssh:v2 /bin/bash
 
その後、test01とtest02を接続できます

その後、test01とtest02を接続できます

実際の原則:

各コンテナには2つのネットワークカードがあり、コンテナ間の通信用のeth0と外部ネットワークへのコンテナアクセス用のeth1があります。

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

以下もご興味があるかもしれません:
  • Dockerコンテナ間のホスト間通信 - オーバーレイベースの実装方法
  • Docker クリーニングキラー/Docker オーバーレイ ファイルがディスク領域を大量に占有する
  • Docker クロスホストネットワーク (オーバーレイ) の実装
  • Dockerオーバーレイネットワークの構築方法
  • Dockerオーバーレイはホスト間のコンテナ相互通信を実現します

<<:  Vue2.xは、ユーザーのログインと終了を実装するためにルーティングナビゲーションガードを設定します。

>>:  MySQL 8.0.19 では、間違ったパスワードを 3 回入力するとアカウントがロックされるようになりました (例)

推薦する

MySQL データベースは SQL ステートメントを知っている必要があります (拡張バージョン)

拡張版です。質問とSQL文は以下の通りです。ユーザー テーブルを作成し、id、name、gender...

Linux nlコマンドの使い方

1. コマンドの紹介nl (行数) は指定されたファイルに行番号を追加し、標準出力に書き込みます。フ...

JavaScript の一般的なステートメント ループ、判定、文字列から数値

目次1. スイッチ2. whileループ3. Do/Whileループ3. 文字列を数値に変換する1....

Docker環境にJenkinsコンテナをインストールする詳細なチュートリアル

推奨される Docker 学習教材: https://www.runoob.com/docker/d...

言及すべき8つのMySQLの落とし穴を共有する

MySQL はインストールが簡単で、高速で、豊富な機能を備えています。これはオープンソース運動のベン...

MySQL ビューの原理と使用法の詳細な分析

序文: MySQL では、ビューはおそらく最も一般的に使用されるデータベース オブジェクトの 1 つ...

MySQL エラー コード 1862 の解決方法: パスワードの有効期限が切れています

ブロガーは 1 ~ 2 か月間 MySQL を使用していませんでしたが、今日この問題に遭遇しました。...

VMwareがLinuxシステムをインストールして起動した後に黒い画面が表示される問題を解決する

1. 設置環境1. HUAWEI mate x CPU i5 82500u、8g メモリ、独立グラフ...

ネイティブ JavaScript でオブジェクトが空かどうかをチェックする実装例

目次ネイティブJavaScriptとはA. 新しいブラウザでnullオブジェクトをチェックするコンス...

入力ボックスのプレースホルダーアニメーションと入力検証を実現する純粋なCSS

さらに興味深いコンテンツについては、https://github.com/abc-club/free...

10分でDockerを使ったマイクロサービスのデプロイ方法を学ぶ

Docker は 2013 年のリリース以来、広く注目され、ソフトウェア業界を変える可能性を秘めてい...

JavaScript でオブジェクトをエレガントに扱う 6 つの方法

目次序文1. オブジェクト.freeze() 2. オブジェクト.seal() 3. オブジェクト....

MySql データ型チュートリアル例の詳細な説明

目次1. 概要2. MySQLデータ型の詳細な説明1) 文字列型2) 整数型3) 浮動小数点型4) ...

単一選択折りたたみメニュー機能を実現するCSS

前回の「最もシンプルなスイッチを実現するCSS」のように、HTML5とCSS3でほとんどの機能をすで...