DDay3:Webサーバ起動(実務の入口)前半
テーマ:ポートフォワーディングを“感覚で理解する”
Day3 の前半では、Docker を使って nginx(Webサーバ)を起動し、外部からアクセスできる状態を作る ことを目指します。
ここは Docker を実務で使う上で避けて通れない最重要ポイントです。
特に -p 8080:80 の意味を深く理解すること が今日のゴールです。
nginx を Docker で動かすとはどういうことか
Webサーバを「箱の中で動かす」イメージ
nginx は Web サーバです。
通常は OS にインストールして動かしますが、Docker を使うと
「nginx が入ったコンテナ(箱)を起動するだけで Web サーバが動く」
という状態になります。
つまり、
インストール不要
設定ファイルの衝突なし
環境汚染なし
という、初心者にも優しい環境が手に入ります。
docker run -d -p 8080:80 nginx の意味を分解する
まずはコマンド全体を見てみる
docker run -d -p 8080:80 nginx
この一行で、
nginx が動く Web サーバコンテナを起動し、外部からアクセスできる状態にする
ことができます。
ここから一つずつ丁寧に分解します。
-d:バックグラウンドで動かす
コンテナを「裏で動かす」オプション
-d は detached mode(バックグラウンド実行) の意味です。
Webサーバはずっと動き続ける必要があるため、
ターミナルを占有しない -d が必須です。
-p 8080:80:ポートフォワーディングの核心
これが今日の最重要ポイント
-p 8080:80 は
「ホストの 8080 番 → コンテナの 80 番」
という橋を作る設定です。
nginx はコンテナの中で 80番ポート で待ち受けています。
しかし、コンテナの中の 80 番は外から直接アクセスできません。
そこで Docker が橋を作ります。
ホストPCの 8080 番にアクセス
→ Docker がコンテナの 80 番に転送
→ nginx が応答
という流れです。
例:ブラウザでアクセス
ブラウザで次を開くと nginx が見えます。
http://localhost:8080
これは、
あなたのPC → Docker → コンテナ → nginx
という通信が行われている証拠です。
nginx イメージとは何か(初心者向けに深掘り)
nginx がすでに入った“完成品の箱”
nginx というイメージには、
nginx の実行ファイル、設定、必要なライブラリがすべて入っています。
つまり、
「nginx をインストールする」という作業が不要になる
ということです。
Docker の強みはまさにここにあります。
前半まとめ(ここまでで理解すべきこと)
- nginx は Web サーバ
- Docker を使うとインストール不要で nginx を起動できる
docker run -dはバックグラウンド実行-p 8080:80は「ホスト8080 → コンテナ80」の橋- ブラウザで
localhost:8080にアクセスすると nginx が見える - ポートフォワーディングが理解できれば Docker の実務が一気に楽になる
