🕌
Docker imageを使って、webサーバ (nginx)を構築する方法
はじめに
説明
- Docker imageを使って、webサーバ(nginx)を構築する方法について解説しています。
当環境
- Windows 11 Pro 64bit
- Docker 20.10.17
注意点
この記事では、Docker のインストール方法は解説しておりません。
Docker Desktop のインストールであれば下記のページで解説しておりますので
良ければ下記をご覧ください!
手順
デフォルトの nginx の画面が表示されるまでやっていこうと思います。
-
Docker hub のサイトを開く。
-
nginx と検索して、一番上のオフィシャルイメージを使います。
-
これが、nginx の詳細ページです。
-
少し下にスクロールして、Exposing external port に記載されているコマンドを実行してきます。
$ docker run --name some-nginx -d -p 8080:80 nginx
(some-nginx の部分は名前なので自由に改変して大丈夫です。今回は、test-nginx とします。)
- 下記の様な出力になれば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>
- ブラウザを開き、「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