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

推薦する

4つの柔軟なScssコンパイル出力スタイル

多くの人は、Scss を使用する瞬間からコンパイル方法を説明されてきました。したがって、コマンドのコ...

Vueプロジェクトでlessを使用するためのヒント

目次序文1. スタイルの浸透1. パターン浸透とは何ですか? 2. 使い方は? 2. ミキシング1....

Linux centos7 に phpMyAdmin をインストールするチュートリアル

yum install httpd php mariadb-server –yランプの動作環境を設定...

Docker で MySQL 接続と設定ファイルの最大数を変更する

1. MySQLイメージを見つける ドッカーps 2. ミラーmysqlイメージを入力する dock...

MySql Installer 8.0.18 画像とテキストによるビジュアル インストール チュートリアル

目次1. MySQL 8.0.18のインストール2. 環境変数を設定する3. 接続テスト1. MyS...

VueはTeleportをベースにModalコンポーネントを実装します

目次1. テレポートについて知る2. テレポートの基本的な使い方3. 最初のステップの最適化4. 第...

MySQL 整合性制約の例の詳細な説明

この記事では、MySQL の整合性制約について説明します。ご参考までに、詳細は以下の通りです。メイン...

MySQL NULLデータ変換方法(必読)

MySQL を使用してデータベースをクエリし、左結合を実行すると、関連付けられたフィールドの一部に...

MySQL で 2 つのセットの交差/差/和を取得する方法

MySQL の一般的なシナリオ: 2 つのデータ セットの交差と差を取得するステップ1. 2つのコレ...

スパンの最小高さを定義するソリューションは効果がありません

span タグは HTML ウェブページを作成するときによく使用されますが、このタグの使い方がよくわ...

MySQL マスタースレーブレプリケーションの詳細な分析

序文: MySQL では、マスター/スレーブ アーキテクチャが最も基本的かつ最も一般的に使用されるア...

Vue3 のレンダリング関数における互換性のない変更の詳細な説明

目次レンダリングAPIの変更レンダリング関数のパラメータレンダリング関数のシグネチャの変更VNode...

Linuxで新しいユーザーを作成し、指定されたディレクトリへの権限を付与する

1 ユーザーを作成し、ユーザーのルートパスとパスワードを指定します useradd -d /home...

純粋な CSS 実装 (スクリプトなし) HTML コマンド スタイルのツールチップ テキスト プロンプト効果

実行プロセスを分析します。マウスをノードに移動して、ノードにツールチップ実装を開くための識別子 (...