Dockerコンテナの接続と通信の実装

Dockerコンテナの接続と通信の実装

ポート マッピングは、Docker を別のコンテナーに接続する唯一の方法ではありません。

Docker には、複数のコンテナを接続して接続情報を共有できる接続システムがあります。

Docker 接続により、親コンテナが子コンテナの情報を参照できる親子関係が作成されます。

コンテナの命名

コンテナを作成すると、Docker によって自動的に名前が付けられます。あるいは、--name フラグを使用してコンテナに名前を付けることもできます。次に例を示します。

runoob@runoob:~$ docker run -d -P --name runoob training/webapp python app.py
43780a6eabaaf14e590b6e849235c75f3012995403f97749775e38436db9a441

コンテナ名を表示するには、docker ps コマンドを使用できます。

runoob@runoob:~$ docker ps -l
コンテナID イメージ コマンド ... ポート名
43780a6eabaa トレーニング/ウェブアプリ「python app.py」... 0.0.0.0:32769->5000/tcp runoob

新しいネットワークを作成する

新しい Docker ネットワークを作成しましょう。

$ docker ネットワーク作成 -d ブリッジ test-net 

ここに画像の説明を挿入

パラメータの説明:

-d: このパラメーターは、Docker ネットワーク タイプ (ブリッジまたはオーバーレイ) を指定します。

オーバーレイ ネットワーク タイプは Swarm モードで使用されるため、このセクションでは無視できます。

コンテナの接続

コンテナを実行し、新しく作成されたテストネット ネットワークに接続します。

$ docker run -itd --name test1 --network test-net ubuntu /bin/bash

新しいターミナルを開き、別のコンテナを実行して、test-net ネットワークに参加します。

$ docker run -itd --name test2 --network test-net ubuntu /bin/bash 

ここに画像の説明を挿入

次の ping コマンドは、test1 コンテナと test2 コンテナが相互接続されていることを証明するために使用されます。

test1 および test2 コンテナーに ping コマンドがない場合は、コンテナーで次のコマンドを実行して ping をインストールします (すぐに学習して使用してください。コンテナーにインストールし、コンテナーをイメージに送信してから、上記の 2 つのコンテナーを新しいイメージで再実行できます)。

apt-getアップデート
apt をインストール iputils-ping

test1 コンテナで次のコマンドを入力します。

画像をクリックすると拡大表示されます:

ここに画像の説明を挿入

Dockerコンテナの接続と通信の実装に関するこの記事はこれで終わりです。より関連性の高いDockerコンテナの接続と通信のコンテンツについては、123WORDPRESS.COMの過去の記事を検索するか、以下の関連記事を引き続き閲覧してください。今後とも123WORDPRESS.COMをよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Dockerコンテナ間の通信と外部ネットワーク通信の操作
  • Dockerコンテナのホスト間マルチネットワークセグメント通信ソリューションの詳細説明
  • Dockerコンテナのホスト間通信におけるダイレクトルーティングの詳細な説明
  • Dockerコンテナがホスト間で通信する方法の詳細な説明
  • Dockerコンテナ間の通信方法の詳細な説明
  • Dockerコンテナ間の通信を実装する方法

<<:  HTML テーブルタグチュートリアル (27): セルの背景画像属性 BACKGROUND

>>:  あるテーブルからバッチデータをクエリし、それを別のテーブルに挿入する MySQL の完全な例

推薦する

Centos6.5 に zabbix2.4 をインストールするチュートリアル図

centos-DVD1バージョンシステムの固定IPアドレスは192.168.159.128で、cen...

MySQL マルチバージョン同時実行制御 MVCC の実装

トランザクション分離レベルの設定 グローバルトランザクション分離レベルを読み取りコミット済みに設定;...

一般的な Linux の問題に対する解決策の概要

1. VMwareでCentos7を接続し、固定IPを設定する1) まず、仮想イメージ名を右クリック...

JavaScript クロージャの詳細

目次1. クロージャとは何ですか? 2. 閉鎖の役割序文: JavaScript部分ではクロージャが...

Vue の echarts ツールチップにクリック イベントを追加する詳細な説明

目次必要回避策1. ツールチップを設定する2. hookToolTip変数を定義する3. メソッド内...

新しい CSS :where および :is 疑似クラス関数とは何ですか?

:is と :where とは何ですか? :is()と:where()は、セレクターを作成するとき...

Winにmysqlをインストールする詳細な手順

この記事では、参考までにWinにmysqlをインストールする詳細な手順を紹介します。具体的な内容は次...

VMware 仮想マシンに固定 IP アドレスを設定する方法 (グラフィック チュートリアル)

1. メニューバーで「編集」→「仮想ネットワーク エディター」を選択して仮想ネットワーク エディタ...

ツールベースのウェブサイトの考察: ツールベースのウェブサイトの定義と典型的なケース分析 (写真とテキスト)

ツール型ウェブサイトについて、まず疑問に思うのは、無数のオンラインウェブサイトの中で、どのようなウェ...

インスタンス化されたオブジェクトパラメータによるMySQLクエリ例の説明

この記事では、オブジェクト パラメータをインスタンス化して MySQL でデータをクエリする方法を紹...

クラウドデータ移行サービスの観点から見たMySQLの大規模テーブル抽出モードの原理分析

概要: MySQL JDBC 抽出にはどのような方法を使用すればよいでしょうか? その方法を説明しま...

HTML テーブル マークアップ チュートリアル (38): ヘッダーの境界線の色属性 BORDERCOLOR

テーブルを美しくするために、ヘッダーに異なる境界線の色を設定できます。基本的な構文<TH 境界...

建国記念日が近づいています。JS を使用して、建国記念日風のアバターを生成する小さなツールを実装します。実装プロセスの詳細な説明

目次1. ページレイアウト2. 画像のアップロードと表示3. キャンバスを初期化する4. テンプレー...

Linuxカーネルのアクセス制御セキュリティを強化する方法

背景以前、当社のプロジェクト チームは、Windows、Linux、macOS の 3 つの主要なオ...

あなたをエキスパートに見せるための 13 個の JavaScript ワンライナー

目次1. ランダムなブール値( true / false )を取得する2. 指定された日付が営業日で...