1.1. IP経由のコンテナ間のネットワークアクセス2つの新しいコンテナtomcat01とtomcat02を作成します。 docker run -d -P --name tomcat01 tomcat docker run -d -P --name tomcat02 tomcat ifconfig コマンドを使用して、toncat01 のネットワーク カード情報を表示します。 tomcat01のIPアドレスは172.17.0.2であることがわかります。 次に、toncat02 のネットワーク カード情報を確認します。 ご覧のとおり、tomcat02のIPアドレスは172.17.03です。 コンテナ tomcat01 と tomcat02 が相互に ping できるかどうかをテストします。 tomcat01 が tomcat02 に ping を送信します: tomcat02 が tomcat01 に ping を送信します: 上記の 2 つの図に示すように、tomcat01 が tomcat02 に ping を送信する場合でも、tomcat02 が tomcat01 に ping を送信する場合でも、両方とも正常に ping されます。 注: コンテナ内に ifconfig コマンドと ping コマンドがない場合は、次のコマンドを順番に実行します。 apt-getアップデート apt をインストール iputils-ping apt インストール ネットツール 1.2. コンテナ名またはコンテナIDによるコンテナ間のネットワークアクセスコンテナ名を介してコンテナ間のネットワーク接続を確立する場合は、docker run --link を使用して 2 つのコンテナをリンクする必要があります。 –link を使用すると、2 つのコンテナをリンクして、ソース コンテナ (リンクされたコンテナ) と受信コンテナ (アクティブにリンクを解除するコンテナ) が相互に通信できるようにし、受信コンテナがソース コンテナの環境変数などのソース コンテナの一部のデータを取得できるようにします。
--link 別のコンテナへのリンクを追加する name と id はソース コンテナーの名前と ID であり、alias はリンクの下のソース コンテナーのエイリアスです。
コンテナ tomcat03 を作成し、tomcat03 を受信コンテナ (アクティブにリンクするコンテナ) とし、上記の tomcat01 (エイリアス t1) をソース コンテナ (リンクされるコンテナ) として、2 つのコンテナをリンクします。 docker run -d -P --name tomcat03 --link tomcat01:t1 tomcat tomcat01 は、上で起動した 7b94f50c43ea コンテナの名前です。ここではソース コンテナとして使用され、t1 はリンクの下のコンテナのエイリアスです。簡単に言うと、tomcat03 コンテナの観点からは、tomcat01 と t1 はどちらも 7b94f50c43ea コンテナの名前であり、コンテナのホスト名として、tomcat03 はこれら 2 つの名前のいずれかを使用して 7b94f50c43ea コンテナにアクセスして通信できます (docker は DNS を通じて自動的に解決します)。 リンクテストを実行します: tomcat03 ping tomcat01
両方とも ping でき、tomcat01 と t1 が 172.17.0.2 を指していることがわかります。 ただし、上記のリンクは一方向のみです。つまり、受信コンテナのみがソース コンテナにリンクでき、ソース コンテナは受信コンテナにリンクできません。つまり、tomcat03 は tomcat01 にリンクされ、tomcat03 は tomcat01 に ping できますが、tomcat01 は tomcat03 にリンクされておらず、tomcat01 は tomcat03 に ping できません。ただし、IP 経由で tomcat01 が tomcat03 に ping したり、tomcat03 が tomcat01 に ping したりすることには影響しません。
tomcat03 の hosts ファイルを確認します。オペレーティング システムでは、DNS 要求を行う前に、システム自身の hosts ファイル内でドメイン名と IP の間にマッピング関係があるかどうかを確認するように規定されています。はいの場合は、IP アドレスで指定されたネットワークの場所に直接アクセスします。いいえの場合は、既知の DNS サーバーにドメイン名解決要求が行われます。 docker exec -it tomcat03 cat /etc/hosts tomcat03 の hosts 設定ファイルでは、tomcat01 の IP、コンテナ名、エイリアス、コンテナ ID がマッピングされていることがわかります。そのため、tomcat03 は指定されたコンテナ名を介して tomcat01 と通信できます。 –link は、受信コンテナ (ここでは tomcat003 という名前のコンテナ) に tomcat01 コンテナの名前解決を追加します。この名前解決により、ソース コンテナとの通信に IP を使用する必要がなくなります。また、ソース コンテナが再起動されると、Docker が /etc/hosts ファイルの更新を担当するため、コンテナの再起動後に IP アドレスが変更され、解決が有効にならないことを心配する必要はありません。 Docker リンクを使用してコンテナを相互接続する方法についての記事はこれで終わりです。Docker コンテナの相互接続の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: HTMLからPDFへの変換のための純粋なクライアント側と純粋なサーバー側の実装ソリューション
>>: モバイル端末におけるビューポートの具体的な使用法についての簡単な説明
最初で最も重要なステップは、Windows 環境に Ngnix サービスをインストールする方法です。...
時々、データベース テーブルに重複したデータが大量に保存されます。これらの重複データはリソースを浪費...
Redis の紹介Redis は完全にオープンソースで無料であり、BSD プロトコルに準拠しており、...
1. 絶対パスまず、ローカル コンピューターでは、ファイルの絶対パスは、当然、ハード ディスク上でフ...
ボックスモデルの計算<br />マージン + ボーダー + パディング + コンテンツC...
よく使用されるコマンドは次のとおりです。 chmod 777 文件或目錄例: chmod 777 /...
目次序文1. 現在の時刻を取得する1.1 現在の日付と時刻を返す1.2 現在の日付を取得する1.3 ...
この記事では、年、月、日の3段階のリンクを実現するためのJavaScriptの具体的なコードを参考ま...
この記事の例では、コンピュータカメラを呼び出して写真機能を実現するためのvueの具体的なコードを参考...
概要プロトタイプ パターンは、プロトタイプ インスタンスによって作成されるオブジェクトの型を指し、こ...
Msyqlデータベースのインストール、参考までに具体的な内容は次のとおりです。 ①ブラウザでhttp...
最近、Oracle は Java 14 (または Oracle JDK 14) の一般公開を発表しま...
いろいろ苦労しましたが、やっと yum インストールの手順がわかりました。以前、バイナリ パッケージ...
開発中、MySQL へのリモートアクセスでよく問題に遭遇します。そのたびに検索する必要があり、面倒に...
目次1. プロパティを型リストに制限する2. デフォルトのコンテンツと拡張ポイント3. ネストされた...