Dockerはmacvlanをベースにホスト間コンテナ通信を実装する

Dockerはmacvlanをベースにホスト間コンテナ通信を実装する

2 台のテスト マシンを見つけます。

[root@docker1 centos_zabbix]# docker ネットワーク ls
ネットワーク ID 名前 ドライバー スコープ
19ac9a55bedb ブリッジ ブリッジ ローカル
0a3cbfe2473f ホスト ホスト ローカル
aab77f02a0b1 なし null ローカル
 
[root@docker1 centos_zabbix]# docker ネットワーク作成 --driver macvlan --subnet 10.0.0.0/24 --gateway 10.0.0.254 -o parent=ens33 macvlan_1
このコマンドは両方を実行し、macvlanネットワークタイプを追加することを意味します [root@docker1 centos_zabbix]# docker network ls
ネットワーク ID 名前 ドライバー スコープ
19ac9a55bedb ブリッジ ブリッジ ローカル
0a3cbfe2473f ホスト ホスト ローカル
4e5ccdc657e1 macvlan_1 macvlan ローカル
aab77f02a0b1 なし null ローカル

両方のサーバーに centos6.9:v2 バージョンのイメージがあることを確認します。

1 台のマシンで実行:
[root@docker1 centos_zabbix]# docker run -it --network macvlan_1 --ip=10.0.0.155 centos6.9:v2 /bin/bash
1 台のマシンで実行:
[root@docker2 opt]# docker run -it --network macvlan_1 --ip=10.0.0.156 centos6.9_ssh:v2 /bin/bash
[root@9ea3f69d89c4 /]# 10.0.0.155にpingを実行
PING 10.0.0.155 (10.0.0.155) 56(84) バイトのデータ。
10.0.0.155 からの 64 バイト: icmp_seq=1 ttl=64 time=2.15 ms
10.0.0.155 からの 64 バイト: icmp_seq=2 ttl=64 time=0.569 ms ここで別のコンテナに ping できるということは、コンテナが同一であることを示しています^C

この種の問題は

IP アドレスは重複できません。重複すると混乱が生じます。たとえば、2 つの IP アドレスが両方とも 155 の場合、ping155 は ping できますが、ssh はどのマシンに接続されているかわかりません。実際には接続できず、リンクが間違っています。そのため、IP アドレスを管理するためにオーバーレイ ネットワークが導入されています。

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

以下もご興味があるかもしれません:
  • Dockerコンテナ間のホスト間通信 - オーバーレイベースの実装方法
  • Dockerコンテナの接続と通信の実装
  • Dockerコンテナのホスト間マルチネットワークセグメント通信ソリューションの詳細説明
  • Docker のホスト間コンテナ通信オーバーレイ実装プロセスの詳細な説明
  • Dockerコンテナのホスト間通信におけるダイレクトルーティングの詳細な説明
  • Dockerコンテナ間の通信と外部ネットワーク通信の操作

<<:  アルバムと写真をアルバムに保存するためのWeChatアプレット

>>:  Centos 7 mysql-8.0.19-1.el7.x86_64.rpm-bundle.tar の簡単な分析

推薦する

テーブルのネストと境界の結合の問題に対する解決策

【質問】外側のテーブルと内側のテーブルがネストされていて、内側のテーブルと外側のテーブルの両方に境界...

MySQLクエリが遅い場合の理由と解決策

Python プログラムを書き、Mysql ライブラリを集中的に操作したためです。データ量が多くない...

WeChatアプレットシングルページアプリケーションルーティングを徹底的に理解するための10分

シングルページアプリケーションの特徴「前提:」Web ページには、クリックするとサイト内の他のページ...

JavaScriptオブジェクト指向について学ぼう

目次JavaScript プロトタイプチェーンオブジェクトプロトタイプトップレベルのプロトタイプOb...

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

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

CSS3 は反転可能なホバー効果を実現します

CSS3 は反転可能なホバー効果を実装します。具体的なコードは次のとおりです。 1.css /*基本...

WebStormはVue3統合APIのソリューションを正しく識別できません

1 問題の説明Vue3 の統合 API は、defineComponent やその他の関数が認識でき...

WeChatアプレットがフォーム検証を実装

WeChatアプレットフォームの検証、参考までに具体的な内容は次のとおりです。プラグインWxVali...

MySQL インデックスの知識の要約

MySQL インデックスの確立は、MySQL の効率的な操作にとって非常に重要です。インデックスによ...

Dockerのローカルイメージ作成方法の分析

コンテナと呼ばれるものは、実際には親イメージに基づいて読み取りおよび書き込み可能なファイル階層を作成...

CSSテーマを簡単に切り替える方法の詳細な説明

最近、個人の Web サイトに非常にシンプルなカラー スキーム (テーマ) スイッチャーを追加しまし...

MySQLのLIMIT文について詳しく説明します

目次質問サーバー層とストレージエンジン層LIMITって何ですか?何をするか?トゥカオ最近、Q&...

LINUX でポートが占有されているかどうかを確認する方法

ポートが占有されているかどうかは、これまで一度もわかりませんでした。多くの人に尋ねて、ようやくわかり...

MySQL ピボットテーブルについての簡単な説明

次のような製品部品表があります。一部 部品ID 部品タイプ 製品ID ---------------...

Windows 10 + mysql 8.0.11 zipインストールチュートリアルの詳細

準備する: MySQL 8.0 Windows zip パッケージのダウンロード アドレス: htt...