🕌

Docker imageを使って、webサーバ (nginx)を構築する方法

2022/11/29に公開約3,000字

はじめに


説明

  • Docker imageを使って、webサーバ(nginx)を構築する方法について解説しています。

当環境

  • Windows 11 Pro 64bit
  • Docker 20.10.17

注意点

この記事では、Docker のインストール方法は解説しておりません。
Docker Desktop のインストールであれば下記のページで解説しておりますので
良ければ下記をご覧ください!
https://zenn.dev/good_engineer00/articles/5563c92401486f#docker-desktop-インストール編

手順

デフォルトの nginx の画面が表示されるまでやっていこうと思います。


  1. Docker hub のサイトを開く。

  2. nginx と検索して、一番上のオフィシャルイメージを使います。

  3. これが、nginx の詳細ページです。

  4. 少し下にスクロールして、Exposing external port に記載されているコマンドを実行してきます。

$ docker run --name some-nginx -d -p 8080:80 nginx

(some-nginx の部分は名前なので自由に改変して大丈夫です。今回は、test-nginx とします。)

  1. 下記の様な出力になればOKです。
    (docker: Error response from daemon: pull access denied for some-content-nginx, repository does not exist or may require 'docker login': denied: requested access to the resource is denied.)などのエラーが出た場合は、リポジトリがないか、リポジトリ名が間違えてる可能性があるので、叩いたコマンドをもう一度確認してください。私はこれで1時間使いました、、、)
C:\WINDOWS\system32>docker run --name test-nginx -d -p 8080:80 nginx
Unable to find image 'nginx:latest' locally
latest: Pulling from library/nginx
bd159e379b3b: Pull complete
8d634ce99fb9: Pull complete
98b0bbcc0ec6: Pull complete
6ab6a6301bde: Pull complete
f5d8edcd47b1: Pull complete
fe24ce36f968: Pull complete
Digest: sha256:0046c397d9853b24a00a617fcda7f99f7c3279ef99d104a629485c73de602bb9
Status: Downloaded newer image for nginx:latest
049d36c81281306ce1812fe831909c5ce37a1c7ae7b61305e7128d0e6217615f

C:\WINDOWS\system32>
  1. ブラウザを開き、「http://localhost:8080」と入力して Enter。
    ”Welcome to nginx” と出れば成功です!
    これで、nginx のデフォルトのページが表示されて nginx コンテナが正常に動作しているのが分かります。

これでwebサーバの構築は完了です。

(おまけ)ネットワーク構成図

(雑でごめん、、、、人には向き不向きがあるらしい)

(不要な場合)コンテナの停止 or 削除方法


  • 現在動作しているコンテナを確認する。

コマンド

$ docker ps

実行結果

C:\Users\username>docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS                  NAMES
c83f4a9d7fa1   nginx     "/docker-entrypoint.…"   7 minutes ago   Up 7 seconds   0.0.0.0:8080->80/tcp   test-nginx

現在、先ほど構築したwebサーバが動作しているのがわかる。

  • コンテナの停止をする

コマンド

$ docker stop {namae}

実行結果

C:\Users\username>docker docker start test-nginx
test-nginx

これで、test-nginx は止まった。

  • 次に不要であれば削除する。

コマンド

$ docker rm {namae}

実行結果

C:\Users\username>docker docker rm test-nginx
test-nginx
  • 削除出来たか確認する

コマンド

$ docker ps

実行結果

C:\Users\username>docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

削除出来てる事を確認

以上

Discussion

ログインするとコメントできます