Docker | 2週間で実務レベルに到達するDocker学習:Webサーバ起動(実務の入口) - Day3

Docker Docker
スポンサーリンク

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:バックグラウンドで動かす

コンテナを「裏で動かす」オプション

-ddetached 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 の実務が一気に楽になる
Docker
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました