Docker HubのNginxを使用してDockerを操作して、よく使用するコマンドを一覧化します。
記事の目次
- 1 Docker HubのNginxのコンテナの使用方法を確認する!
- 2 Docker HubからNginxのイメージをダウンロードして実行する!(docker run --rm)
- 3 Nginxで表示するHTMLを準備する!
- 4 Docker HubからNginxのイメージをダウンロードして実行する!(docker run)
- 5 Nginxのコンテナのイメージがダウンロードされたことを確認する!(docker image ls)
- 6 Nginxのコンテナが存在することを確認する!(docker container ps -a)
- 7 Nginxのコンテナが起動していることを確認する!(docker containter ps)
- 8 Nginxのコンテナのログを確認する!(docker logs)
- 9 HTMLを表示する!
- 10 Nginxのコンテナを停止する!(docker container stop)
- 11 Nginxのコンテナを削除する!(docker container rm)
- 12 Nginxのイメージを削除する!(docker image rm)
- 13 おわりに
- 14 参考情報
- 15 関連記事
- 16 関連書籍(Amazon)
Docker HubのNginxのコンテナの使用方法を確認する!
Docker HubのNginxのページでコンテナの使用方法を確認します。
Docker HubからNginxのイメージをダウンロードして実行する!(docker run --rm)
「docker container run」コマンドを使用して、Nginxのイメージのダウンロードから実行まで(pull→create→start)を一気に行うことができます。今回は、コンテナ名を「nginx-01」とし、イメージ名は「nginx」を指定します。イメージ名にタグを指定しない場合は、「latest」タグの最新版がダウンロードされます。
$ docker container run --rm --name nginx-01 -p 8080:80 -d nginx
Nginxを起動したサーバ上で、以下のURLでアクセスすると、Nginxの「Welcome to nginx!」のページが表示されます。
http://localhost:8080
Nginxのコンテナを停止します。「docker container run」コマンドで、「--rm」オプションを指定したので、停止と同時にコンテナの削除も行われます。
$ docker container stop nginx-01 nginx-01
Nginxのコンテナのイメージも削除します。
$ docker image rm nginx
これだけでは応用しづらいので、次節からの作業の流れで、自分で作成したHTMLを表示してみます。
Nginxで表示するHTMLを準備する!
最初に、HTMLファイルを準備します。
$ cat /home/usradmin/nginx/html/index.html <html> <body> Docker Nginx Test Page! </body> </html>
Docker HubからNginxのイメージをダウンロードして実行する!(docker run)
「docker run」コマンドを使用して、Nginxのイメージのダウンロードから実行までを一気に行いますが、今回は、「-v」オプションを使用して、自分で作成したHTMLが存在するディレクトリをNginxのコンテナにマウントします。
$ docker container run --name nginx-01 -p 8080:80 -v /home/usradmin/nginx/html:/usr/share/nginx/html:ro -d nginx Unable to find image 'nginx:latest' locally latest: Pulling from library/nginx 3f4ca61aafcd: Pull complete 50c68654b16f: Pull complete 3ed295c083ec: Pull complete 40b838968eea: Pull complete 88d3ab68332d: Pull complete 5f63362a3fa3: Pull complete Digest: sha256:0047b729188a15da49380d9506d65959cce6d40291ccfb4e039f5dc7efd33286 Status: Downloaded newer image for nginx:latest ef5cbfda01d997c561f487015c6fd5999b592bc5f81d7b5b87c59fc78270e5fc
Nginxのコンテナのイメージがダウンロードされたことを確認する!(docker image ls)
「docker image ls」コマンドを使用して、Nginxのイメージを確認します。
$ docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest 1403e55ab369 4 days ago 142MB
Nginxのコンテナが存在することを確認する!(docker container ps -a)
「docker container ps -a」コマンドを使用して、Nginxのコンテナを確認します。
$ docker container ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ef5cbfda01d9 nginx "/docker-entrypoint.…" 3 minutes ago Up 3 minutes 0.0.0.0:8080->80/tcp, :::8080->80/tcp nginx-01
Nginxのコンテナが起動していることを確認する!(docker containter ps)
「docker container ps」コマンドを使用して、Nginxのコンテナが起動していることを確認します。
$ docker container ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ef5cbfda01d9 nginx "/docker-entrypoint.…" 4 minutes ago Up 4 minutes 0.0.0.0:8080->80/tcp, :::8080->80/tcp nginx-01
Nginxのコンテナのログを確認する!(docker logs)
「docker logs」コマンドで、ログを確認することができます。
$ docker logs nginx-01 /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/ /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh 10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf 10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh /docker-entrypoint.sh: Configuration complete; ready for start up 2022/12/27 22:49:22 [notice] 1#1: using the "epoll" event method 2022/12/27 22:49:22 [notice] 1#1: nginx/1.23.3 2022/12/27 22:49:22 [notice] 1#1: built by gcc 10.2.1 20210110 (Debian 10.2.1-6) 2022/12/27 22:49:22 [notice] 1#1: OS: Linux 5.14.0-162.6.1.el9_1.0.1.x86_64 2022/12/27 22:49:22 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1073741816:1073741816 2022/12/27 22:49:22 [notice] 1#1: start worker processes 2022/12/27 22:49:22 [notice] 1#1: start worker process 29 2022/12/27 22:49:22 [notice] 1#1: start worker process 30
HTMLを表示する!
起動したホスト上で、HTMLを表示します。
http://localhost:8080
※外部のマシン上から表示する場合は、名前解決やFirewalldの通信許可の設定がされていることを確認して、アクセスします。
Nginxのコンテナを停止する!(docker container stop)
「docker container stop」コマンドを使用して、Nginxのコンテナを停止します。コンテナ自体は残ります。
$ docker container stop nginx-01 nginx-01 $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES $ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ef5cbfda01d9 nginx "/docker-entrypoint.…" 8 minutes ago Exited (0) 16 seconds ago nginx-01
Nginxのコンテナを削除する!(docker container rm)
「docker container rm」コマンドを使用して、Nginxのコンテナを削除します。
$ docker container rm nginx-01 nginx-01 $ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
Nginxのイメージを削除する!(docker image rm)
「docker image rm」コマンドを使用して、Nginxのイメージを削除します。
$ docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest 1403e55ab369 4 days ago 142MB $ docker image rm nginx Untagged: nginx:latest Untagged: nginx@sha256:0047b729188a15da49380d9506d65959cce6d40291ccfb4e039f5dc7efd33286 Deleted: sha256:1403e55ab369cd1c8039c34e6b4d47ca40bbde39c371254c7cba14756f472f52 Deleted: sha256:0274f249eda4c376bde7cbe0b719ea3aef10201846d7262f37f7a0fc0b4fcf90 Deleted: sha256:e01fc49cb889c5dd6b11390e9863ba00f886315c5a403ee5955fb5c88d2aa576 Deleted: sha256:b2a367ee540c5d40c704fdece005b422f55f85a61b96a25bd99d6847669958a0 Deleted: sha256:2c1c6d39cbcc4767b0798aacc03f203951057e77c5edebca1fdfbcd4997f2919 Deleted: sha256:d260638126e1d2d3202dec36b67f124624fbcdad3afedd334e7260bf75dad8da Deleted: sha256:8a70d251b65364698f195f5a0b424e0d67de81307b79afbe662abd797068a069 $ docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE
おわりに
Docker Hubに登録されたNginxのイメージを利用して、Dockerの基本的な操作の流れを実施してみました。
参考情報
関連記事
関連書籍(Amazon)