Programming Self-Study Notebook

勉強したことを忘れないように! 思い出せるように!!

Webサーバ(Nginx)を動かしてみる【疎通確認レベル】

f:id:overworker:20200628105903p:plain

0.Nginxとは?

  • 大量のリクエストを処理する大規模サイトなどでよく利用されている。
  • リバースプロキシやロードバランサーといった機能を持っている。

1.Dockerイメージのダウンロード

入力コマンド
docker pull nginx
コマンド入力結果
C:\Users\******>docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
8559a31e96f4: Pull complete
8d69e59170f7: Pull complete
3f9f1ec1d262: Pull complete
d1f5ff4f210d: Pull complete
1e22bfa8652e: Pull complete
Digest: sha256:21f32f6c08406306d822a0e6e8b7dc81f53f336570e852e25fbe1e3e3d0d0133
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest

2.Nginxを動かしてみる

  • DockerコンテナのもとになるDockerイメージを使ってNginxにサーバを起動します。
入力コマンド
docker container run --name webserver -d -p 80:80 nginx
  • nginxを使ってwebserverという名前のDockerコンテナを起動する
  • -pオプション:ブラウザからHTTP(80番ポート)でのアクセスを許可
コマンド入力結果
C:\Users\******>docker container run --name webserver -d -p 80:80 nginx
102e5532fcb011b596688f2795d8f0f66c303986bca73a7dbc9878e28924f744

上記の102e5532fcb011b596688f2795d8f0f66c303986bca73a7dbc9878e28924f744がコンテナID

3.Nginxの動作確認をする

3-1.ブラウザーのアドレスバーにhttp://localhost/を入力する。

  • 私はChromeを使用しました
http://localhost/
  • コマンド入力結果
f:id:overworker:20200627221038p:plain:h250

3-2.Nginxのサーバの状態を確認する

3-2-1.基本的なコマンド
  • 稼働中のコンテナの状態を確認することができる
入力コマンド
docker container ps
コマンド入力結果
C:\Users\******>docker container ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                NAMES
102e5532fcb0        nginx               "/docker-entrypoint.…"   14 minutes ago      Up 14 minutes       0.0.0.0:80->80/tcp   webserver
3-2-2.container省略
  • コマンド入力時のcontainerは省略可能
入力コマンド
docker ps
コマンド入力結果
C:\Users\******>docker container ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                    PORTS                NAMES
102e5532fcb0        nginx               "/docker-entrypoint.…"   14 minutes ago      Up 18 minutes       0.0.0.0:80->80/tcp   webserver
3-2-3.-aオプション付き
  • コマンド入力時のcontainerは省略可能
docker ps -a
コマンド入力結果
C:\Users\******>docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                    PORTS                NAMES
102e5532fcb0        nginx               "/docker-entrypoint.…"   18 minutes ago      Up 18 minutes             0.0.0.0:80->80/tcp   webserver
cb0039d5bf6e        ubuntu:latest       "/bin/echo 'Hello Wo…"   22 hours ago        Exited (0) 22 hours ago                        affectionate_elgamal
309487e157cb        ubuntu:latest       "/bin/echo 'Hello Wo…"   22 hours ago        Exited (0) 22 hours ago                        friendly_einstein```

3-3.Nginxのコンテナ稼働を確認する

入力コマンド
docker container stats webserver
コマンド入力結果
CONTAINER ID        NAME                CPU %               MEM USAGE / LIMIT     MEM %               NET I/O             BLOCK I/O           PIDS
102e5532fcb0        webserver           0.00%               2.473MiB / 1.945GiB   0.12%               4.15kB / 2.34kB     0B / 0B             2
画面を抜ける
  • Crtl+Cを押す

4.Nginxを起動/停止してみる

入力コマンド
docker stop webserver
コマンド入力結果
C:\Users\******>docker stop webserver
webserver
ブラウザーのアドレスバーにhttp://localhost/を入力する。(3-1.と同じ)
http://localhost/
  • コマンド入力結果
f:id:overworker:20200627224816p:plain:h250

5.停止したNginxを起動する

入力コマンド
docker start webserver
コマンド入力結果
C:\Users\******>docker start webserver
webserver

参考文献

以下の本を読みながら、Dockerの勉強を開始しました。

その他の記事へ