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

Docker Docker
スポンサーリンク

Day3:Webサーバ起動(実務の入口)

Day3では、いよいよ「WebサーバをDockerで動かす」という、実務で最もよく使う操作に踏み込みます。
ここを理解すると、Dockerが“ただの箱”ではなく“本番運用にも耐える強力なツール”だと実感できます。

今回の主役は nginx(エンジンエックス) という超有名Webサーバです。
世界中のWebサイトで使われている、軽量で高速なサーバです。


nginxをDockerで起動するとはどういうことか

Webサーバを「箱の中で動かす」イメージ

nginxは本来、Linuxにインストールして設定して…という手順が必要です。
しかしDockerを使うと、インストール作業なしで 一瞬でWebサーバが起動 します。

これは、nginxのイメージ(設計図)に「すぐ動く状態」がすでに詰め込まれているからです。
あなたはただコンテナを作って起動するだけで、Webサーバが立ち上がります。


docker run -d -p 8080:80 nginx の意味を徹底的に分解する

コマンド全体の役割

この一行は、
「nginxコンテナをバックグラウンドで起動し、あなたのPCの8080番ポートからアクセスできるようにする」
という意味です。

ここから、各部分を初心者向けに丁寧に分解します。


-d:バックグラウンドで動かす

画面を占有しないで動かすモード

-d は detached mode(デタッチドモード) の略です。
コンテナを裏側で動かし続け、ターミナルを占有しません。

もし -d を付けないと、nginxのログがずっと画面に流れ続けて、他の操作ができなくなります。

実務ではWebサーバは常に裏で動いていてほしいので、-d はほぼ必須です。


-p 8080:80:ポートフォワーディングの核心

ここがDay3の最重要ポイント

-p 8080:80 は、
「あなたのPCの8080番ポート → コンテナの80番ポート」
という橋渡しを作る設定です。

例え話:建物の入口をつなぐイメージ

あなたのPCを「建物」、コンテナを「別の部屋」と考えてください。

  • 建物の入口:8080番
  • 部屋の入口:80番(nginxが待ち受けている場所)

-p 8080:80 は、
「建物の入口8080番に来た人を、部屋の入口80番に案内する」
というルールを作ることです。

なぜ必要なのか

コンテナは独立した空間なので、外から直接アクセスできません。
そこで、ポートフォワーディングを使って「外部 → コンテナ内部」への通路を作ります。

実際にアクセスしてみる

コマンドを実行したら、ブラウザで次を開きます。

http://localhost:8080

nginxのウェルカムページが表示されれば成功です。
これが「コンテナの中で動いているWebサーバに、あなたのPCからアクセスできた」という証拠です。


nginxコンテナを起動してみる流れ

実行コマンド

docker run -d -p 8080:80 nginx

起動後に確認する方法

docker ps

nginx が STATUS: Up になっていれば動いています。

停止したいとき

docker stop コンテナID

完全に削除したいとき

docker rm コンテナID

Day2で学んだライフサイクル操作がここで活きます。


ポートフォワーディングをさらに深掘りする

なぜ「8080:80」の順番なのか

左側が ホスト(あなたのPC)
右側が コンテナ(nginx)

順番を逆にすると動きません。
これは実務でもよくあるミスです。

80番ポートとは何か

Webサーバが「HTTP通信を受け付ける標準の入口」です。
nginxはデフォルトで80番を使うように設定されています。

8080番を使う理由

あなたのPCの80番ポートは、別のアプリが使っている可能性があります。
8080は「Web開発でよく使われる代替ポート」で、衝突しにくいから選ばれています。


実務での応用イメージ

1. ローカルでWebアプリを動かす

フロントエンドやバックエンドの開発者は、
Dockerでnginxを立ち上げてローカル環境を再現します。

2. 本番環境の構築

本番サーバでも、nginxコンテナを起動してWebサービスを提供できます。
Dockerなら環境差異がないため、ローカルと本番がほぼ同じ動作になります。

3. セキュリティ面のメリット

コンテナは隔離されているため、
万が一nginxに脆弱性があっても、被害が広がりにくい構造になっています。


Day3のまとめ

Day3では、DockerでWebサーバを起動するという実務的な操作を学びました。

nginxをコンテナで動かし、
-d で裏で動かし、
-p 8080:80 で外部からアクセスできるようにする。

特に ポートフォワーディングの理解はDockerの基礎中の基礎 です。
ここを押さえると、今後のDocker Composeや複数コンテナ連携もスムーズに理解できます。

タイトルとURLをコピーしました