目次
1。DockerRunで-p docker runを使用します
2。 EXPOSE dockerfileのポートを定義します
3. Dockerを使用して、 portsセクションで構成します
4. docker psで開いたポートを確認します
ホームページ 運用・保守 Docker ドッカーコンテナからホストマシンにポートをどのように公開しますか?

ドッカーコンテナからホストマシンにポートをどのように公開しますか?

Jul 12, 2025 am 01:33 AM
docker ポートマッピング

dockerコンテナポートを公開するには、ホストはポートマッピングを介してコンテナサービスにアクセスする必要があります。 1。DockerRun-P [host_port]:[container_port]コマンドを使用して、docker run -p 8080:3000 my -web -appなどのコンテナを実行します。 2。露出指令を使用して、expose 3000などのDockerFileの目的をマークしますが、ポートは自動的に公開されません。 3.ポートなど、Docker ComposeのYMLファイルのポートセグメントを構成します。- "8080:3000"; 4. Docker PSを使用して、実行後にポートマッピングが効果的かどうかを確認します。上記の方法により、コンテナポートが正しく露出し、検証されていることが保証されます。

Dockerコンテナからホストマシンにポートを公開することは、コンテナ内のWebサーバー、API、またはデータベースなどのサービスを実行する場合、一般的なタスクです。キーは、ホストシステムのポートにコンテナの内部ポートをマッピングすることです。これにより、外部のDockerからアクセスできます。


1。DockerRunで-p docker runを使用します

ポートを公開する最も簡単な方法は、 docker runでコンテナを実行するときに-p (または--publish )フラグを使用することです。

基本的な構文:

 docker run -p [host_port]:[container_port] [image_name]

たとえば、ポート3000に耳を傾けるコンテナ内でWebアプリを実行している場合:

 docker run -p 8080:3000 my-web-app

これで、ホストマシンでhttp://localhost:8080経由でサービスにアクセスできます。

  • -pフラグを繰り返すことで、複数のポートを指定できます。
  • ホストポート( -p 3000 )を省略すると、Dockerはランダムに使用可能なポートを自動的に割り当てます。
  • これは、TCPおよびUDPで機能します。 -p 53:53/udpを使用して、特にUDPポートを公開します。

2。 EXPOSE dockerfileのポートを定義します

DockerFileにEXPOSE命令を追加することで、画像が使用するポートを文書化できます。

 3000を公開します

ただし、これは実際にポートを公開するわけではありません。コンテナを実行するときは-pを使用する必要があります。後でコンテナを実行する人のメタデータとEXPOSEと考えてください。

他の人が使用する画像を構築している場合、 EXPOSEを含むなど、推測せずにどのポートが関連しているかを知るのに役立ちます。


3. Dockerを使用して、 portsセクションで構成します

Docker Composeを使用している場合は、 docker-compose.ymlファイルのportsセクションの下にあるポートマッピングを定義します。

サービス:
  WebApp:
    画像:my-web-app
    ポート:
       - 「8080:3000」

これは-pフラグと同じ効果を持ちますが、構成を集中させ、バージョン制御し続けます。

  • "3000"などの短い構文を使用して、Dockerにランダムホストポートを割り当てることもできます。
  • より制御するには、プロトコルやモードなどの追加オプションを使用して、長い構文を使用してください。

4. docker psで開いたポートを確認します

コンテナを起動した後、次のようなポートマッピングを確認します。

 Docker PS

「ポート」列を見てください。次のようなものを表示する必要があります。

 0.0.0.0:8080->3000/TCP

これにより、ホストのポート8080がコンテナ内のポート3000に転送されていることが確認されています。

ポートがリストされていない場合は、 -pまたは構成されたportsを正しく使用したダブルチェック。


そして、それは基本的にそれです。 Dockerがどのようにマッピングするかを知ると、ポートを露出させることは複雑ではありませんが、 -pフラグを忘れたり、 EXPOSEと仮定したりするなどの小さな詳細を見落とすのは簡単です。

以上がドッカーコンテナからホストマシンにポートをどのように公開しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

完全なPython Webアプリケーションを開発する方法は? 完全なPython Webアプリケーションを開発する方法は? May 23, 2025 pm 10:39 PM

完全なPython Webアプリケーションを開発するには、次の手順に従ってください。1。DjangoやFlaskなどの適切なフレームワークを選択します。 2。データベースを統合し、Sqlalchemyなどの軌道を使用します。 3.フロントエンドを設計し、VueまたはReactを使用します。 4.テストを実行し、pytestまたはunittestを使用します。 5.アプリケーションを展開し、HerokuやAWSなどのDockerとプラットフォームを使用します。これらの手順を通じて、強力で効率的なWebアプリケーションを構築できます。

Dockerコンテナ内でプロセス情報を表示する方法 Dockerコンテナ内でプロセス情報を表示する方法 May 19, 2025 pm 09:06 PM

Dockerコンテナ内のプロセス情報を表示するには、次の3つの方法があります。1。Dockertopコマンドを使用して、コンテナ内のすべてのプロセスをリストし、PID、ユーザー、コマンド、およびその他の情報を表示します。 2. Dockerexecを使用してコンテナを入力し、PSまたはTOPコマンドを使用して詳細なプロセス情報を表示します。 3. Dockerstatsコマンドを使用して、コンテナリソースの使用をリアルタイムで表示し、Dockertopを組み合わせてコンテナのパフォーマンスを完全に理解します。

UbuntuにPytorchアプリを展開する方法 UbuntuにPytorchアプリを展開する方法 May 29, 2025 pm 11:18 PM

UbuntuにPytorchアプリケーションを展開するには、手順に従って実行できます。1。最初にPythonとPIPをインストールして、PythonとPIPがシステムに既にインストールされていることを確認してください。次のコマンドを使用してそれらをインストールできます:sudoaptupdatesudoaptindoaptinstalpython3python3-pip2。仮想環境(オプション)を作成してプロジェクト環境を分離するには、仮想環境を作成することをお勧めします:python3-mvenvmyenvsourcemyenv/bin/activatet

DebianでのJenkinsの展開のパフォーマンスチューニング DebianでのJenkinsの展開のパフォーマンスチューニング May 28, 2025 pm 04:51 PM

DebianでJenkinsの展開とチューニングは、インストール、構成、プラグイン管理、パフォーマンスの最適化など、複数のステップを含むプロセスです。 Jenkinsの効率的な展開を実現するための詳細なガイドを以下に示します。 Jenkinsを最初にインストールして、システムにJava環境がインストールされていることを確認してください。 Jenkinsは、適切に実行するにはJavaランタイム環境(JRE)が必要です。 sudoaptupdatesudoaptininstallopenjdk-11-jdkは、Javaのインストールが成功していることを確認します:Java-version next、add j

Batchの効率的な操作方法Dockerコンテナを停止します Batchの効率的な操作方法Dockerコンテナを停止します May 19, 2025 pm 09:03 PM

Dockerコンテナを停止する効率的な方法には、基本的なコマンドとツールの使用が含まれます。 1。Dockerstop$(dockerps-q)コマンドを使用して、Dockerstop-T30 $(dockerps-q)などのタイムアウト時間を調整します。 2。Dockerpsフィルタリングオプションを使用して、dockerstop $(dockerps-q - filter "label = app = web")など。 3. DockerComposeコマンドDocker-Composedownを使用します。 4。DB、アプリ、Webコンテナの停止など、コンテナを順番に停止するスクリプトを書き込みます。

さまざまなDocker画像バージョンの違いを比較する方法 さまざまなDocker画像バージョンの違いを比較する方法 May 19, 2025 pm 09:00 PM

異なるDocker画像バージョンの違いを比較するには、次の2つの方法があります。1。dockerdiffコマンドを使用して、コンテナファイルシステムの変更を表示します。 2。DockerHistoryコマンドを使用して、画像構築の階層の違いを表示します。これらの方法は、画像バージョンの理解と最適化に役立ちます。

phpstormとdockerコンテナ化された開発環境を構成します phpstormとdockerコンテナ化された開発環境を構成します May 20, 2025 pm 07:54 PM

Dockerコンテナ化テクノロジーを通じて、PHP開発者はPHPstormを使用して、開発効率と環境の一貫性を改善できます。特定の手順には以下が含まれます。1。PHP環境を定義するDockerFileを作成します。 2。phpstormでDocker接続を構成します。 3. DockerComposeファイルを作成して、サービスを定義します。 4.リモートPHPインタープリターを構成します。利点は強力な環境の一貫性であり、欠点には長いスタートアップ時間と複雑なデバッグが含まれます。

DebianにDockerの自動展開を実装する方法 DebianにDockerの自動展開を実装する方法 May 28, 2025 pm 04:33 PM

DebianシステムにDockerの自動展開を実装することは、さまざまな方法で実行できます。詳細な手順ガイドは次のとおりです。最初にdockerをインストールして、Debianシステムが最新のままであることを確認してください:sudoaptupdatesudoaptupgrade-y次に、必要なソフトウェアパッケージをインストールして、httpsを介してリポジトリへの適切なアクセスをサポートします:sudoaptinstallapt-transport-transport-httpsca-cartifatecurlsoft-cortecursoft-properties-common-common-compg inphy com

See all articles