このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

Docker超入門:UbuntuとNginxでWebサーバーをビルドする①

UbuntuとNginxでWebサーバーをビルドする①

 ここでは、UbuntuとNginxを使ってシンプルなWebサーバーをDocker上に構築していきます。少し長めになるので、2回に分けて解説します。今回は Webサーバーを構築するための準備とDockerfileの作成 までを進めます。

不要なコンテナとイメージの削除

まずは作業環境をクリーンにするため、不要なコンテナやイメージを削除します。

実行するコマンドは以下です。既に削除している場合は、コマンドの実行は不要です。

PS C:\Users\joeac> docker system prune -a
WARNING! This will remove:
  - all stopped containers
  - all networks not used by at least one container
  - all images without at least one container associated to them
  - all build cache

Are you sure you want to continue? [y/N] y
Total reclaimed space: 0B

 このコマンドは、停止中のコンテナ・未使用のイメージ・ネットワーク・ボリュームをまとめて削除し、ストレージを解放してくれます。

オプション説明
-aすべての未使用のイメージも削除対象に含める。

 実行すると「Are you sure you want to continue? [y/N]」と確認されるので「y」と入力します。
削除が完了すると、どれだけ容量が解放されたか「Total reclaimed space」として表示されます。

さらに確認のため、以下のコマンドで削除後の状態をチェックしましょう。

PS C:\Users\joeac> docker container ls -a
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

PS C:\Users\joeac> docker image ls
REPOSITORY   TAG       IMAGE ID   CREATED   SIZE

作業ディレクトリの準備

続いて作業用ディレクトリを用意して、そのディレクトリに移動します。

PS C:\Users\joeac> cd desktop/docker
PS C:\Users\joeac\Desktop\docker> mkdir Webserver1

    Directory: C:\Users\joeac\Desktop\docker

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d----          2025/09/27     3:30                Webserver1

PS C:\Users\joeac\Desktop\docker> cd Webserver1
PS C:\Users\joeac\Desktop\docker\Webserver1>

 この「Webserver1」ディレクトリに、後ほど作成する Dockerfileindex.html を格納していきます。

Webサーバーの構成

今回ビルドするWebサーバーの構成は次のとおりです。

項目説明
イメージ名webserver1
OSUbuntu:latest(最新のUbuntuイメージを使用)
APnginx(Webサーバーアプリケーション)
Webコンテンツindex.html を /var/www/html に配置

 このシンプルな構成で、ブラウザからアクセスすると「Nginx Webserver」という文字が表示されるWebサーバーを構築します。

index.htmlの作成

まずはWebページのコンテンツとなる index.html を作成します。

「code index.html」を実行します。

PS C:\Users\joeac\Desktop\docker\Webserver1> code index.html

VS Codeが起動します。

以下の内容を入力して保存します。このファイルを Webserver1 ディレクトリに保存します。

<HTML>
<BODY>
<H1>Nginx Webserver</H1>
</BODY>
</HTML>

Dockerfileの作成

次に、Dockerイメージをビルドするための Dockerfile を作成します。

「code Dockerfile」を実行します。

PS C:\Users\joeac\Desktop\docker\Webserver1> code Dockerfile

VS Codeが起動します。

以下の内容を入力して保存します。

# Step1 : Ubuntuイメージの作成
FROM ubuntu:latest

# Step2 : Nginxのインストール
RUN apt-get update && apt-get install -y -q nginx

# Step3 : htmlファイルのコピー
COPY index.html /var/www/html

# Step4 : 80番ポートの公開
EXPOSE 80

# Step5 : コマンドの実行(Nginxの開始)
CMD ["nginx","-g","daemon off;"]

Dockerfile内の重要ポイント

コマンド説明
FROM ubuntu:latestUbuntuの最新イメージをベースにする
RUN apt-get update && apt-get install -y -q nginxパッケージリストを更新し、nginxをインストール
COPY index.html /var/www/html作成したWebページをNginxの公開ディレクトリにコピー
EXPOSE 80Webサーバーで利用する80番ポートを公開
CMD ["nginx","-g","daemon off;"]Nginxをフォアグラウンドで起動

特に apt-get install -y -q nginx のオプションは以下の意味があります。

オプション説明
-yインストール中の確認プロンプトをスキップし、自動実行する。
-q出力を最小限にして静かに実行する。

まとめ

 今回は、UbuntuとNginxを使ったWebサーバー構築の準備として、環境を整理し、index.htmlDockerfile を作成しました。
 次回「UbuntuとNginxでWebサーバーをビルドする②」では、いよいよこのDockerfileを使ってイメージをビルドし、コンテナとして実行してWebサーバーを動かしていきます。