Dockerはポートを介してコンテナに接続します

Dockerはポートを介してコンテナに接続します

Dockerコンテナ接続

1. ネットワークポートマッピング

Pythonアプリケーション用のコンテナを作成します

# docker run -d -P トレーニング/webapp python app.py

-Pパラメータを使用してコンテナを作成し、docker psを使用してポート5000がホストポート32768にバインドされていることを確認します。

-p フラグを使用して、コンテナ ポートをホスト ポートにバインドするように指定することもできます。

2 つの方法の違いは次のとおりです。

-P: コンテナの内部ポートがホストの上位ポートにランダムにマッピングされます。

-p: コンテナの内部ポートを指定されたホスト ポートにバインドします。

…………

# docker run -d -p 5000:5000 トレーニング/ウェブアプリ python app.py

さらに、コンテナにバインドされたネットワークアドレス(127.0.0.1など)を指定することもできます。

# docker run -d -p 127.0.0.1:5001:5000 トレーニング/ウェブアプリ python app.py

このようにして、127.0.0.1:5001にアクセスすることでコンテナのポート5000にアクセスできます。

デフォルトでは、コンテナは TCP ポートにバインドされます。UDP ポートにバインドする場合は、ポートの後に /udp を追加できます。

# docker run -d -p 127.0.0.1:5000:5000/udp トレーニング/webapp python app.py

docker port <images id> [port]コマンドを使用すると、ポートバインディングステータスをすばやく表示できます。

docker ポート ce206e3c0ae6 5000

他のコンテナをすべてシャットダウンし、新しいnginxコンテナを起動します。

# docker run -d -p 5000:80 --name web111 nginx

コンテナのポート80をローカルポート5000に転送し、外部からアクセスします。

正常にアクセスできることがわかります。これは、ポートが転送されていることを示しています。

2. Dockerコンテナ接続

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

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

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

3. コンテナの命名

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

docker run -d -P --name Peithon トレーニング/ウェブアプリ python app.py

追加知識: Docker コンテナ内で開いているポートを確認する方法

コンテナbashを入力する必要はありません。LinuxコマンドラインでdockerポートコンテナIDを入力するだけで表示されます。

Docker のポートを介してコンテナを接続する方法については、上記の記事が皆さんに共有できるすべてです。これが皆さんの参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • 複数の Docker コンテナが同じポート番号を持たない場合の解決策
  • 実行中のDockerコンテナのポートマッピングを変更する方法
  • Docker でコンテナのポート マッピングを動的に変更する方法
  • Windows 10でDockerコンテナのポートにアクセスできない問題に対する完璧な解決策
  • Dockerはコンテナにポートを動的に公開します
  • Dockerコンテナがホストポートにアクセスできない場合の解決策
  • Dockerはコンテナポートバインディングのローカルポートを実装します

<<:  マークアップ言語 - 画像の置き換え

>>:  JS は Web ページナビゲーションバーの特殊効果を実現します

推薦する

tomcat ログ ディレクトリ内のログ ファイルの分析 (概要)

tomcat が起動されるたびに、次のログ ファイルがログ ディレクトリに自動的に生成され、日付順...

面接の質問: 3 行 3 列のレイアウト、表は結合され、ネストされた表は許可されません

面接の質問で、3 行 3 列のレイアウトが求められます。1 行目の 2 番目の列と 2 行目の 2 ...

Windows オペレーティング システムでの Linux 仮想マシンのインストールと構成のチュートリアル

序文仕事では、Linux 環境で操作する必要があることがよくあります。ここでは、win10 システム...

Element-ui NavMenuサブメニューを使用して再帰的に生成する場合のエラーの詳細な説明

ナビゲーションバーのサブメニューを再帰的に生成すると、メニューは正常に生成できるが、マウスをホバーす...

Vue のライフサイクルとフック関数の詳細な説明と典型的な面接の質問

目次1. Vue ライフサイクル2. フック機能2.1 4つの段階と8つの方法に分かれています。 2...

ボタントリガーイベントを使用して背景色の点滅効果を実現します

背景色の点滅効果を実現するには、次のコードを <body> 領域に追加するだけです。コー...

JSオブジェクトの走査順序の詳細な説明

JavaScript ではオブジェクトを走査する順序は固定されていないと聞いたことがある人もいるかも...

JavaScriptはクリックトグル機能を実装します

この記事の例では、クリックして切り替える機能を実装するためのJavaScriptの具体的なコードを参...

Dockerのインストール、イメージの作成、NodeJSプログラムの読み込みと実行の詳細なプロセス

システム環境: Windows 7 1. DockerをインストールするDocker公式サイトからd...

Linux のメモリ管理とアドレス指定の詳細な紹介

目次1. コンセプトメモリ管理モード住所種別分類例: 2. ページ管理x86 アーキテクチャ 32 ...

Vueリストレンダリングキーの原理と機能の詳細な説明

目次リストレンダリングキーの原理と機能主要原則の分析キーの役割要約するリストレンダリングキーの原理と...

Vueは画像切り替え効果を実現

この記事の例では、画像切り替え効果を実現するためのVueの具体的なコードを参考までに共有しています。...

Windows 10 での MySQL 8.0.22 のインストールと設定方法のグラフィック チュートリアル

MySQL 8.0.22のインストールと設定方法のグラフィックチュートリアル、参考までに、具体的な内...

MySQL 8.0.16 Win10 zip バージョンのインストールと設定のグラフィック チュートリアル

この記事では、MySQL 8.0.16 Win10 zip版のインストールと設定のグラフィックチュー...