複数のマシン間のDocker通信。

異なるマシンのコンテナはどのように通信しますか?(VXLANは公式サイトで詳細を見ることができます。)

 

 

 

まず、2つのホストが通信できます。

Dockerのオーバーレイネットワーク。(ブリッジホストなしは単一のマシンです。オーバーレイはマルチマシンネットワークです)

dockerがインストールされている最北の2つのホストはdocker1とdocker2です!

次に、分散ストレージ用のツールが必要です。(これは、IPアドレスが重複しないようにするためです。たとえば、docker1ホストでは、コンテナの1つのIPは172.17.0.2です。次に、他のマシン上の別のコンテナのIPアドレスも172.17.0.2になるようにする必要があります。はい172.17.0.3 172.17.0.4なので、これらを確認するには分散ストレージツールが必要です。

ここでetcdを使用します

#両方のホストがインストールされています:

[ミラー@ docker4ダウンロード] $ LS 
パイソン - 3.77   パイソン- 3.77の.tgz V3。4.7 
[ミラー@ docker4ダウンロード] RM v3の$。4.7  
[ミラー@ docker4ダウンロード] $ wgetのHTTPS:// github.com/ IO-ETCD / ETCD /リリース/ダウンロード/ v3.4.7 / v3.4.7 ETCD--のLinux-amd64.tar.gz 
- 2020年までに - 04 - 11  18です4737 [ - HTTPS:// github.com/etcd -io / etcd /リリース/ダウンロード/ v3.4.7 / v3.4.7 etcd--linuxの-amd64.tar.gz 
ホストを解決github.com(github.com)... 52.74223.119
接続github.com(github.com) | 52.74223.119 |:443 ...接続。
HTTPリクエストが送信され、応答を待っています... 302検出された
場所:https:// github-production-release-asset-2e65be.s3.amazonaws.com/11225014/cd901e00-7419-11ea-88fc-732f4a7bec4f?X-Amz -アルゴリズム= AWS4-HMAC-SHA256& X-AMZ-資格= AKIAIWNJYAX4CSVEH53A%2F20200411%2Fus東1%2Fs3%2Faws4_request&X-AMZ-日= 20200411T104738Z&X-AMZは、有効期限= 300&X-AMZ-シグネチャー= 879d4434d3aa1db5bcb75cf57c3d139c5ae98904941d1aa3a41ad656774a9766&X-AMZ-SignedHeaders =ホスト&ACTOR_ID = 0&repo_id = 11225014&response-content-disposition = attachment%3B%20filename%3Detcd-v3.4.7-linux-amd64.tar.gz&- 04 - 11  18です4738れる - HTTPS:// github-production-release-asset-2e65be.s3.amazonaws.com/11225014/cd901e00-7419-11ea-88fc-732f4a7bec4f?X-Amz-Algorithm=AWS4 -HMAC-SHA256&X-Amz-資格= AKIAIWNJYAX4CSVEH53A%2F20200411%2Fus東1%2Fs3%2Faws4_request&X-AMZ-日= 20200411T104738Z&= 879d4434d3aa1db5bcb75cf57c3d139c5ae98904941d1aa3a41ad656774a9766&X-AMZ-SignedHeaders =ホスト&ACTOR_ID = 0&repo_id = 11225014&応答= 300&X-AMZ-署名のX-AMZは、有効期限-content-disposition = attachment%3B%20filename%3Detcd-v3.4.7-linux-amd64.tar.gz&response-content-type = application%2Foctet-stream 
がホストgithub-production-release-asset-2e65be.s3.amazonawsを解決しています.com(github-production-release-asset-2e65be.s3.amazonaws.com)...52.216133.75 
接続GitHubの -production-release-asset-2e65be.s3.amazonaws.com(github-production-release-asset-2e65be.s3.amazonaws.com)| 52.216133.75 |:443 ...接続。
HTTPリクエストが...応答を待って、発行された200はOK 
長さ:17310840 - (17M)[ファイルにapplication / octet解釈されないストリーム] 
に保存されます: "ETCD。-V3 4.7 -linux- amd64.tar.gz" 

100%[== ================================================== ================================================== =======================>] 。17310840   。3使用時0.38メガバイト/ S 5.1s    

2020 - 04 - 11  18である47453.26 MB / S) -保存"ETCD-V3 4.7 -linux-amd64.tar.gz" [ 17310840 / 17310840 ])

[miller @ docker4ダウンロード] $ tar -zxvf etcd-v3.4.7-linux-amd64.tar.gz

[miller @ docker4ダウンロード] $ cd etcd-v3.4.7-linux-amd64 /

次に、個別に構成します

[miller @ docker4 etcd-v3。4.7 -linux-amd64] $ nohup ./etcd --name ' docker4 ' \
 > --initial -advertise-peer-urls ' http://192.168.42.22:2380 ' \
 > --listen-peer-urls ' http ://192.168.42.22:2380 ' \
 > --listen-client-urls ' http://192.168.42.22:2379 ' \
 > --advertise-client-urls ' http://192.168.42.22:2379 ' \
 > --initial -cluster-token ' etcd-cluster ' \
 > --initial -cluster 'docker4 = http://192.168.42.22:2380、docker5 = http://192.168.42.23:2380 ' \
 > --initial -cluster-state ' new&'  
nohup:入力を無視し、出力を" nohup.out "に追加します

 


[miller @ docker4 etcd
-v3。4.7 -linux-amd64] $ nohup ./etcd --name ' docker5 ' \ > --initial -advertise-peer-urls ' http://192.168.42.23:2380 ' \ > --listen-peer-urls ' http ://192.168.42.23:2380 ' \ > --listen-client-urls ' http://192.168.42.23:2379、http://127.0.0.1:2379 ' \ > --advertise-client-urls ' http ://192.168.43.23:2379 ' \ > --initial -cluster-token ' etcd-cluster ' \ > --initial -cluster 'docker4 = http://192.168.42.22:2380、docker5 = http://192.168.42.23:2380 ' \ > --initial -cluster-state ' new&' nohup:入力を無視し、出力を" nohup.out "に追加します

 

これを開始するドッカーを聞いてください。etcdを使用したことをdockerに通知するためです。

 

カルマの注文

 

おすすめ

転載: www.cnblogs.com/chengege/p/12682172.html