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 の簡単な分析

推薦する

Zabbix ベースの Jenkins プロセス監視の詳細な説明

1. 監視アーキテクチャ図 2. 実装のアイデアJenkins に Metrics プラグインをイン...

MySQL の隠し列の詳細表示

目次1. 主キーが存在する2. 主キーはないが、一意のインデックスが存在する3. 共同主キーまたは共...

Linux ファイルシステムの説明: ext4 以降

今日は、ext3 や他の以前のファイル システムとの違いを含め、ext4 の歴史について説明します。...

Linuxで$を#に変更する方法

このシステムでは、# 記号は root ユーザーを表し、$ 記号は通常のユーザーを表します。では、ど...

CSS で美しい時計アニメーション効果を実装するためのサンプルコード

仕事を探しています!!!事前準備:まず、このアニメーションは、以前のローディングアニメーションとクー...

Linuxプロセスネットワークトラフィック統計の実装プロセス

序文Linux には、ネットワーク接続、プロセス、およびその他の情報をリアルタイムで収集するための対...

Dockerデータ管理とネットワーク通信の使用

Docker をインストールし、Docker コアとインストールを通じて簡単な操作を実行できます。 ...

CocosCreator でカメラトラッキングに cc.follow を使用する方法

Cocos Creator バージョン: 2.3.4デモのダウンロード: https://files...

負のマージントップ値は、ラベルテキストと入力の間の垂直中央揃えの問題を解決します。

ラベルテキストと入力の垂直方向の中央揃えを調整するのは簡単ではありません。padding、verti...

HTML テーブルのオーバーフローの解決方法

テーブルが広い場合は、あふれてしまう可能性があります。たとえば、左と右の 2 つの div がありま...

Docker+Jenkinsを使用して自動的にビルドおよびデプロイする

この記事では、Docker+Jenkins の自動ビルドデプロイメントを紹介し、皆さんと共有します。...

HTML テーブル マークアップ チュートリアル (14): テーブル ヘッダー

<br />HTML 言語では、タグを使用してテーブルにタイトルを自動的に追加できます。...

XHTML の珍しいが便利なタグ

Xhtml には、あまり使用されないが非常に便利なタグが多数あります。半分の労力で 2 倍の結果を達...

fastdfs+nginxクラスタ構築の実装

1. fastdfs の紹介1. fastdfsとは何かFastdfs は軽量のオープンソース分散フ...