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 の完全な例

推薦する

高品質なウェブページのデザイン方法 高品質なウェブページ(画像とテキスト)のデザイン経験

オープンプラットフォームの増加に伴い、そこから派生するさまざまなアプリケーションサービスも増加傾向に...

Vue3+TypeScriptは再帰メニューコンポーネントの完全な例を実装します

目次序文必要成し遂げる最初のレンダリングメニュー項目をクリックしますスタイルの区別デフォルトのハイラ...

MySQL の sql_mode モード例の詳細な説明

この記事では、MySQL の sql_mode モードについて例を挙げて説明します。ご参考までに、詳...

仕事の効率を上げるJS略語スキル20選

目次複数の変数を同時に宣言する場合は、1 行に短縮できます。分割代入は複数の変数に同時に値を割り当て...

Centos で MySQL パスワードを変更する方法

1. MySQL ログイン設定を変更します。 # vim /etc/my.cnf文を追加: skip...

Nginxはhttpリクエスト実装プロセス分析を処理する

Nginxはまず、設定ファイル内のどのserver{}ブロックを処理に使用するかを決定します。次のs...

Nginx proxy_redirect の使用方法の詳細な説明

今日、Apache の nginx リバース プロキシを実行していたときに、ちょっとした問題に遭遇し...

html、xhtml、xmlの違い

開発動向: html (ハイパーテキスト マークアップ言語) - xhtml (拡張ハイパーテキスト...

MySQLの場合の使用例分析

まず、データベース テーブルを作成します。 テーブル `t_demo` を作成します ( `id` ...

ネイティブ JS でスネーク ゲームを書く

この記事では、参考までに、JSでスネークゲームを書くための具体的なコードを紹介します。具体的な内容は...

Linux ソースコードからのソケット (TCP) クライアント側での接続の例の詳細な説明

序文著者は、アプリケーションからフレームワーク、オペレーティング システムに至るまで、あらゆるコード...

HTML でナンバープレート番号と州の略語を入力するためのサンプルコード

原理としては、まずボタン付きの div を記述し、次に画面のサイズに応じて自動的に適応してキーボード...

VueはBaidu Mapsを使用して都市の位置特定を実現

この記事では、参考までに、Baidu Mapsを使用して都市の位置特定を実現するVueの具体的なコー...

Linux でマウントされたファイルシステムの種類を表示する方法

序文ご存知のとおり、Linux は ext4、ext3、ext2、sysfs、securityfs、...

Dockerfileを使用してDockerイメージを構築する

目次Dockerfileを使用してDockerイメージを構築する1. Dockerfile とは何で...