ドッカーネットワークインフラストラクチャの設定

簡単な紹介 

  インターネットアプリケーションサービスの多くは、多くの場合、複数の容器の間のネットワーク通信を介して相互に協力する必要があるサービス・コンポーネントの複数を含みます。
  ドッカーは現在、コンテナとコンテナのためのネットワークサービスを提供するために、ホストのホストの相互接続メカニズムへのコンテナ港のマップを提供しています。
  この記事では、ドッカーネットワーク機能を使用する方法について説明します。だけでなく、相互接続されたシステムを使用すると、複数のコンテナ間の高速ネットワーク通信を実行させるのコンテナを介して外部ネットワークへのコンテナアプリケーションサービスプロバイダへのポートマッピングメカニズムの使用を含みます。

アクセスを達成するためのコンテナのポートマッピング

外部からコンテナアプリケーションアクセス

  コンテナが起動すると、あなたが外容器内の対応するパラメータを指定しない場合、ネットワークを介して容器内のネットワークアプリケーションやサービスにアクセスすることができません。
  いくつかのネットワークアプリケーションでは、外部からのアクセスにそれらをできるように、コンテナで実行しているときは、ポートマッピングまたは-P -pパラメータで指定することができます。-Pフラグを使用すると、ドッカーは、ランダムネットワークのコンテナ港の内部に開放49000〜49900ポートのマッピング:

[ルート@ギャビン〜]#sudoのドッキングウィンドウ-d実行- Pのtomcat:最新
afe8064a2e604ebd212ec2a620fde7d0c2f72b51d298066f3e4c454df1b74e6e 
[ルート@ギャビン〜]#sudoのドッキングウィンドウのPS - 
コンテナID IMAGEコマンドが作成STATUSポートの名称
afe8064a2e60のtomcat:最新の        " catalina.shラン" 13秒前最大120.00.032769 - > 8080 / tcpのfestive_panini   

  この場合、ドッカーPSの使用は、ローカルホスト32769は、容器のポート8080にマッピングされ、見ることができます。
  アプリケーションが提供するコンテナ内のWebインターフェイスにアクセスするためのアクセスホストホストポート32769。

  また、あなたは、ドッキングウィンドウのログコマンドによってアプリケーションに関する情報を表示できます。

[ルート@ギャビン〜]#sudoのドッキングウィンドウのログafe8
 28 -Aug- 2019  141827.546 INFO [メイン] org.apache.catalina.startup.VersionLoggerListener.log Serverバージョン:Apache Tomcatの/ 8.545 
28 -Aug- 2019  141827.548内蔵org.apache.catalina.startup.VersionLoggerListener.logサーバINFO [メイン]日:Aug 14  2019  222125 UTC
 28 -Aug- 2019  141827.548をINFO [メイン] org.apache.catalina.startup.VersionLoggerListener.logサーバーの数:          8.545.0 
28 -Aug- 2019  141827.549 INFO [メイン] org.apache.catalina.startup.VersionLoggerListener.log OS名:Linuxの
 28 -Aug- 2019  141827.549 INFO [メイン] org.apache.catalina。 startup.VersionLoggerListener.log OSバージョン:             3.100 - 957 .el7.x86_64 
...

  -p(小文字)は、指定されたポートは、容器に結合することができるだけで、指定されたポートにマッピングされ、そしてすることができます。ホスト側:containerPortリットルのIP :: containerPort I HOSTPORT:containerPortサポートするフォーマットは、IPです。

すべてのマッピングインターフェイスアドレス

  使用HOSTPORT:容器8080のポート8080にマッピングcontainerPortローカルフォーマットは、次のコマンドを実行することができます。

[ルートの@ギャビン〜]#sudoのドッキングウィンドウの実行は、-p -d 80808080 :tomcatの最新
b7b692ed0bc99bf73f68b92ddca20a1ae5ab510c42ae234f76a4b36093e1fd31 
[ルート@ギャビン - 〜]#sudoのドッキングウィンドウのPS 
STATUSポートの名称作成したコンテナのID画像COMMAND 
最新:b7b692ed0bc9 Tomcatの        catalina.shの実行を9秒前に最大80.00.08080 - > 8080 / TCPのtender_wescoff   

  このとき、デフォルトではすべてのインターフェイス上のすべてのローカルアドレスをバインドします。複数の利用-pマークは、複数のポートをバインドすることができます。
  例えば:

[ルートの@ギャビン〜]#sudoのドッキングウィンドウの実行は、-p -d 80888088 -p 80998099 :Tomcatの最新
c1629208e59a8953369b2229de6c352ae83faa00154c7acdb5178931e84bedce 
[ルート@ギャビン - 〜]#sudoのドッキングウィンドウのPS 
STATUSポートの名称作成したコンテナのID画像COMMAND 
最新:c1629208e59a Tomcatを        catalina.shラン6アップ秒前に50.00.08088 - > 8088 / TCP、   8080 / TCP、0.00.08099 - > 8099 / TCPのnervous_robinson

指定されたポート指定されたアドレスにマッピングされました

  あなたは、IPを使用することができます。HOSTPORT:など私のIPなどの特定のアドレスを使用して、containerPort形式指定されたマップは192.168.1.16です。

[ルート@ギャビン〜]#sudoのドッキングウィンドウの実行-d -p 192.1681.1680818080 のtomcat:最新
7f5eab8748fe3fcb0ffd3b2828928be05f8193d88ff80d2f88aee9ae262f6114 
[ルート@ギャビン〜]#sudoのドッキングウィンドウのPS - 
作成したコンテナのIDのIMAGEコマンドがステータスポートNAMES 
7f5eab8748feのtomcat:最新の        " catalina.shラン" 10秒前まで9192.1681.168081 - > 8080   / TCPのstoic_robinson

ポートは、任意の指定されたアドレスにマッピングされました

  どれでも使用192.168.1.16のIPポート8080へのコンテナ港を結合:: containerPortは、ローカルホストが自動的にポートを割り当てます。

[ルート@ギャビン〜]#sudoのドッキングウィンドウの実行-d -p 192.1681.16 :: 8080 のtomcat:最新
8108af81e853076df2a55d125b559476422df4d16c4560afd6439f51cb67bcfc 
[ルートの@ギャビン〜]#sudoのドッキングウィンドウのPS - 
作成したコンテナのID画像COMMAND STATUSポートの名称
8108af81e853のtomcat:最新の        " catalina.shの実行" 7秒前に最大6192.1681.1632768 - > 8080   / TCPのinspiring_zhukovsky

地図を見るのポート設定

  現在のポート設定のマッピングを表示するドッカポートを使用して、あなたはまた、アドレスバインディングを表示することができます。

[ルート@ギャビン〜]#sudoのドッキングウィンドウポート8108 
8080 / TCP - > 192.1681.1632768

コンテナは、コンテナ間の通信を介してリンク

  コンテナ(リンク)システムを接続するポート・マッピング・アプリケーションに加えて、容器と相互作用することができる別の方法です。
  それはソースと収納容器との間のトンネルを作成し、容器は、指定された情報源容器を見ることができます。

カスタム名前付けコンテナ

  コンテナの名前に応じて実行するようにシステムを接続します。だから、最初のあなたはキャッチーな名前にコンテナをカスタマイズする必要があります。
  コンテナが作成されたときが、システムはデフォルトの名前を割り当てますが、カスタムの名前付けコンテナは、2つの利点があります。

  1. そのようなWebアプリケーションコンテナとして、覚えて、比較的容易に定義されたネーミングので、我々はそれに名前ウェブを与えることができます。
  2. 別の容器に接続されたとき、それは、Web DB容器に接続された容器として、有用な基準点として働くことができます。

  --nameタグ名を使用してコンテナをカスタマイズすることができます。

[ルート@ギャビン〜]#sudoのドッキングウィンドウ-d -P実行- 名前のWeb Tomcatを:最新
47a03555a3aa0c4581df781f906baaa0e3c0b8fcc1ebc5764ad94eb0c14716a8を

  名前付きセットすることを確認するために、ドッカpsを使用します

[ルート@ギャビン〜]#sudoのドッキングウィンドウのPS - 
作成したコンテナのIDのIMAGEコマンドがステータスポートNAMES 
47a03555a3aaのtomcat:最新の        " catalina.shラン" 46秒前に最大450.00.032770 - > 8080 / tcpのウェブ   

相互接続コンテナ

  --linkを使用したパラメータは、コンテナ間の安全な相互作用を可能にします。
  以下は、新しいデータベースコンテナを作成します。

[ルート@ギャビンは〜]#sudoのドッキングウィンドウは、-d --nameデシベルのpostgresの実行します

  以前に作成したWebコンテナを削除します。

[ルート@ギャビン〜]#sudoのドッキングウィンドウのrm -fウェブ

  次に、新しいWebコンテナを作成し、DBコンテナにそれを接続します。

[ルート@ギャビン〜]#sudoのドッキングウィンドウの実行-d -P --nameウェブ--linkデシベル:デシベルのtomcat:最新 

  インターネット関係のこの時点で、DBコンテナとWebコンテナの作成。
  --linkフォーマットパラメータは--link名である:名前がリンクされるコンテナの名前である別名、エイリアスは、この接続の別名です。
  コンテナの接続のドッキングウィンドウのPSビューを使用します。

[ルート@ギャビン〜]#sudoのドッキングウィンドウのPS 
STATUSポートの名称作成したコンテナのID画像COMMAND 
最新:ea74df6bc843 Tomcatの        " catalina.shラン"         2分、前の2分の         0.00.032774 - > 8080 / tcpのウェブ
44c6d026afe2はpostgres             " ドッキングウィンドウ-entrypoint.s ... "    3分前まで3分の         5432/ TCPのデシベル

  Webコンテナのpingデシベルコンテナに移動します:

[ルート@ギャビン〜]#の須藤ドッカーEXEC -tiウェブ/ binに/ のbash 
根ea74df6bc843 @:は/ usr / local / Tomcatの#ピングDB 
PINGデシベル(172.170.7)、5684 データの)バイト。
64バイトから DB(172.170.7):icmp_seq = 1 TTL = 64時間= 0.299 64バイトから DB(172.170.7):icmp_seq = 2 TTL = 64時間= 0.105 64のバイトDB(172.170.7):icmp_seq = 3 TTL = 64時間= 0.067

  あなたは、Webコンテナは、DBコンテナへのアクセス権を持って見ることができます。
  相互接続された2つのコンテナ間ドッカーは、安全なトンネルを作成し、ホストのホストポートにマッピングしないでください。-Pは、ブート時に使用し、-Pは、このように外部ネットワークポート上のデータベースへの露出を避け、DBコンテナをラベル付けされていません。
  Webコンテナ環境変数を表示するには、envコマンドを使用して、パブリケーションドッカー接続情報環境変数を参照してください。

[ルート@ギャビン〜]#sudoのドッキングウィンドウ--name WEB2実行- リンクDB:DBのtomcat:最新ENV
 ... 
DB_PORT = TCP:// 172.17.0.7:5432 
DB_PORT_5432_TCP = TCP:// 172.17.0.7:5432 
DB_PORT_5432_TCP_ADDRを= 172.170.7 
DB_PORT_5432_TCP_PORT = 5432 
DB_PORT_5432_TCP_PROTO = TCP 
DB_NAME = / WEB2 / DB 
DB_EN​​V_GOSU_VERSION = 1.11 
DB_EN​​V_LANG = en_US.utf8の
DB_EN​​V_PG_MAJOR = 11 
DB_EN​​V_PG_VERSION = 11.5 - 1 .pgdg90 + 1
DB_EN​​V_PGDATA = / VAR / libに/ postgresqlの/ データ
...

  前記DBは、Web DBコンテナのコンテナに接続されている環境変数の先頭は大文字の接続エイリアスを付けます。
  ユーザは、ウェブDBコンテナの複数に連結され得るように、親血管にサブコンテナの複数をリンクすることができます。

 

この記事では、私の記録ドッカー学習、「ドッカー技術の導入や実用的な」からのコンテンツの参照であります

 

おすすめ

転載: www.cnblogs.com/gavin-guo/p/11427286.html