検索
ホームページ運用・保守DockerDocker コンテナーでポートをマップする方法

Docker は、開発者がこの優れたツールを使用して、ローカル、クラウド、またはモバイル デバイス上であらゆるアプリケーションを迅速にパッケージ化、配布、実行できるオープン ソースのアプリケーション コンテナ エンジンです。 Dockerの最大の特徴は、実行中のコンテナを異なるホストに素早くデプロイでき、環境の一貫性が保たれることです。 Docker は優れたパフォーマンスと使いやすさにより、クラウド コンピューティング、DevOps、マイクロサービスなどの分野で広く使用されています。この記事では、Docker コンテナのポート マッピングについて紹介します。

  1. Docker コンテナのポート マッピング

Docker コンテナ内の各サービスは、ポート番号を占有する必要があります。コンテナ内で実行されているサービスが外部システムと通信する必要がある場合、このポート番号をホスト上のポートにマップする必要があります。このプロセスはポート マッピングと呼ばれます。

Docker では、docker run コマンドを使用してコンテナーを起動し、ポート マッピング パラメーターを指定できます。たとえば、Web サービスがコンテナ内で実行されており、リスニング ポートが 8080 であると仮定すると、次のコマンドを使用して、コンテナ内の 8080 ポートをホストの 8000 Port:

docker run -p 8000:8080 my-web-service

このコマンドのパラメータ -p 8000:8080 は、コンテナ内の 8080 ポートをホストの ## にマッピングすることを意味します。 #8000ポート。最後のパラメータ my-web-service は、実行する Docker イメージを指定します。

    複数のポートのマッピング
コンテナ内で実行されているサービスが複数のポートを公開する必要がある場合は、

-p パラメーターを追加することで実行できます。複数回のマッピング。たとえば、コンテナ内で実行されているサービスが 2 つのポート 80808081 を同時にリッスンする必要があると仮定すると、次のコマンドを使用して、これら 2 つのポートを異なるポートにマッピングできます。ホスト上のポート:

docker run -p 8000:8080 -p 8001:8081 my-web-service
このコマンドのパラメータ

-p 8000:8080は、コンテナ内の8080ポートを8000##にマッピングすることを意味します。 # ホストのポート、パラメータ-p 8001:8081 は、コンテナ内の 8081 ポートをホスト上の 8001 ポートにマッピングすることを意味します。

ローカル IP へのバインド
  1. デフォルトでは、Docker コンテナによってマップされたポートは、ホストのすべてのネットワーク カード インターフェイスにバインドされます。特定の IP アドレスへのマッピングを指定する場合は、
-p

パラメーター形式を使用できます。 <pre class="brush:php;toolbar:false">docker run -p IP:HOST_PORT:CONTAINER_PORT my-web-service</pre> ここで、

IP

はマッピングされるローカル IP を指します。アドレス、HOST_PORT はホスト上のポート番号、CONTAINER_PORT はコンテナ内のサービスが実際にリッスンするポート番号です。

UDP ポート マッピング
  1. TCP ポートとは異なり、UDP ポートは
-p

パラメータ形式を使用してマッピングする必要があります。たとえば、次のコマンドを使用して、コンテナ内の UDP ポート 8080 をホストの UDP ポート 8000 にマップできます: <pre class="brush:php;toolbar:false">docker run -p 8000:8080/udp my-udp-service</pre>

ランダム ポートマッピング
  1. 場合によっては、コンテナ内のポートをホストの固定ポートにマップする必要がない場合、
-P

パラメータを使用してランダムを指定できます。ポートマッピング。たとえば、次のコマンドを使用してサービス ポートを開始し、自動的にマッピングできます。 <pre class="brush:php;toolbar:false">docker run -P my-web-service</pre> このコマンドのパラメータ

-P

は、コンテナ内のすべてのポートをランダムなポートに自動的にマッピングすることを意味します。ホストのポート上で。 Docker は、空いているホスト ポートをランダムに選択し、コンテナ内のサービスのポートをそれにマッピングします。

マップされたポートの表示
docker ps

コマンドを使用して、実行中のコンテナーとそのマップされたポートを表示できます。たとえば、次のコマンドを使用すると、実行中のすべてのコンテナとそのマップされたポートを一覧表示できます。 <pre class="brush:php;toolbar:false">docker ps --format &quot;table {{.ID}}\t{{.Names}}\t{{.Ports}}&quot;</pre>このコマンドは、各コンテナの ID、名前、およびマップされたポート番号を表示します。

Docker ポート マッピングは、コンテナとホストの間に双方向のデータ送信のためのネットワーク インターフェイスを作成することです。ポート マッピングを構成するときは、不要なトラブルを避けるために、ネットワーク セキュリティの問題とポートの競合に注意を払う必要があります。この記事が読者が Docker のポート マッピングとネットワーク構成を理解するのに役立つことを願っています。

以上がDocker コンテナーでポートをマップする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
DockerおよびKubernetes:スケーラブルなアプリケーションの構築DockerおよびKubernetes:スケーラブルなアプリケーションの構築Apr 28, 2025 am 12:18 AM

DockerとKubernetesを使用して、スケーラブルなアプリケーションを構築します。 1)dockerfileを使用してコンテナ画像を作成します。2)Kubectlコマンドを介してKubernetesの展開とサービス、3)Horizo​​ntalpodautoscalerを使用して自動スケーリングを実現し、それにより効率的でスケーラブルなアプリケーションアーキテクチャを構築します。

KubernetesとDocker:比較分析KubernetesとDocker:比較分析Apr 27, 2025 am 12:05 AM

DockerとKubernetesの主な違いは、Dockerがコンテナ化に使用され、Kubernetesはコンテナオーケストレーションに使用されることです。 1.Dockerは、アプリケーションを開発、テスト、展開し、コンテナを介して分離とリソースの制限を実装するための一貫した環境を提供します。 2。Kubernetesは、コンテナ化されたアプリケーションを管理し、自動化された展開、拡張、管理機能を提供し、負荷分散と自動スケーリングをサポートします。この2つの組み合わせは、アプリケーションの展開と管理の効率を改善できます。

LinuxでDockerの実行:インストールと構成LinuxでDockerの実行:インストールと構成Apr 26, 2025 am 12:12 AM

LinuxにDockerをインストールして構成するには、システムが64ビットとカーネルバージョン3.10以上であることを確認する必要があります。コマンド「Sudoapt-GetUpDate」を使用し、コマンド「Sudoapt-GetUpDate」でインストールし、「Sudoapt-GetUpDate」で検証します。 Dockerは、Linuxカーネルの名前空間とコントロールグループを使用して、コンテナの分離とリソースの制限を実現します。画像は読み取り専用テンプレートであり、コンテナを変更できます。使用法の例には、NGINXサーバーの実行やカスタムDockerFilesを使用した画像の作成が含まれます。一般

なぜDockerを使用するのですか?説明された利点と利点が説明されていますなぜDockerを使用するのですか?説明された利点と利点が説明されていますApr 25, 2025 am 12:05 AM

Dockerを使用する理由は、アプリケーションをパッケージ化、配布、および実行するための効率的でポータブルで一貫した環境を提供するからです。 1)Dockerは、開発者がアプリケーションとその依存関係を軽量のポータブルコンテナにパッケージ化できるようにするコンテナ化されたプラットフォームです。 2)Linuxコンテナテクノロジーとジョイントファイルシステムに基づいて、迅速な起動と効率的な操作を確保しています。 3)Dockerは、マルチステージの構造をサポートし、画像サイズと展開速度を最適化します。 4)Dockerを使用すると、開発と展開プロセスを簡素化し、効率を改善し、環境全体の一貫性を確保できます。

Docker in Action:実際の例とユースケースDocker in Action:実際の例とユースケースApr 24, 2025 am 12:10 AM

実際のプロジェクトのDockerのアプリケーションシナリオには、展開の簡素化、マルチコンテナーアプリケーションの管理、パフォーマンスの最適化が含まれます。 1.Dockerは、dockerfileを使用してnode.jsアプリケーションを展開するなど、アプリケーションの展開を簡素化します。 2。DockerComposeは、マイクロサービスアーキテクチャのWebやデータベースサービスなどのマルチコンテナーアプリケーションを管理しています。 3.パフォーマンス最適化は、マルチステージ構造を使用して画像サイズを縮小し、健康チェックを通じてコン​​テナのステータスを監視します。

Docker vs. Kubernetes:ユースケースとシナリオDocker vs. Kubernetes:ユースケースとシナリオApr 23, 2025 am 12:11 AM

小さなプロジェクトまたは開発環境でDockerを選択し、大規模なプロジェクトまたは生産環境でKubernetesを選択します。 1.ドッカーは、迅速な反復とテストに適しています。2。Kubernetesは、大規模なアプリケーションの管理と拡張に適した強力なコンテナオーケストレーション機能を提供します。

LinuxのDocker:Linuxシステムのコンテナ化LinuxのDocker:Linuxシステムのコンテナ化Apr 22, 2025 am 12:03 AM

Linuxは、豊富なツールとコミュニティサポートを提供するネイティブプラットフォームであるため、LinuxでDockerが重要です。 1. docker:sudoapt-getupdateとsudoapt-getinstalldocker-cedocker-ce-clicotainerd.ioを使用します。 2。コンテナの作成と管理:Dockerrun-D-Namemynginx-P80:80NginxなどのDockerrunコマンドを使用します。 3。DockerFileを書き込み:画像サイズを最適化し、マルチステージ構造を使用します。 4。最適化とデバッグ:DockerLogsとDockerexを使用します

Docker:コンテナ化ツール、Kubernetes:オーケストレーターDocker:コンテナ化ツール、Kubernetes:オーケストレーターApr 21, 2025 am 12:01 AM

Dockerはコンテナ化ツールであり、Kubernetesはコンテナオーケストレーションツールです。 1. Dockerパッケージアプリケーションとその依存関係は、Docker対応環境で実行できるコンテナに依存します。 2。Kubernetesはこれらのコンテナを管理し、自動展開、スケーリング、管理を実装し、アプリケーションを効率的に実行します。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、