3. ポートのマッピング

Dockerのポートマッピングは、ホストとコンテナ間の通信を実現するための重要な設定です。この章では、ポートマッピングの役割と基本構文、さらに具体例を簡単な例えを交えながら説明します。


3.1 ポートマッピングの役割

ポートマッピングは、ホストマシン(物理または仮想環境)とコンテナ内のアプリケーション間で通信を可能にする仕組みです。コンテナは通常、Docker内部の独立したネットワークで動作しているため、外部から直接アクセスすることはできません。ポートマッピングを設定することで、ホストマシンのポートを介して外部からコンテナ内のサービスにアクセスできます。

例え

ポートマッピングは、「ビル(ホスト)の玄関(ホストのポート)」から特定の部屋(コンテナのポート)に荷物(通信)を届ける仕組みと考えられます。玄関番号(ホストポート)が設定されていなければ、訪問者はどの部屋にもアクセスできません。


3.2 マッピングの基本構文

ポートマッピングを設定するためには、docker runコマンドで以下の形式を使用します。

-p <ホストポート>:<コンテナポート>

構文の詳細

  1. p: ポートマッピングを指定するオプション。
  2. <ホストポート>: ホスト側で公開されるポート番号。外部からアクセスする際に使用。
  3. <コンテナポート>: コンテナ内で動作するサービスがリスニングしているポート番号。

3.3 具体例

ここでは、ホストの8080ポートをコンテナの80ポートにマッピングし、外部からNginxウェブサーバーにアクセスする具体例を示します。

手順

1. コンテナの起動