🙏废话不多说系列,直接开整🙏
Nginx 是一个高性能的 HTTP 和反向代理 web 服务器,同时也提供了 IMAP/POP3/SMTP服务。
(1)检查是否已安装了 nginx
# 检查是否已经安装了 nginx
sudo docker images
结果如下
drew@ubuntu:/snap/bin$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
redis latest de974760ddb2 9 days ago 105MB
drew@ubuntu:/snap/bin$
发现没有 nginx 镜像,所以需要安装。
(2)查看可用的 nginx 版本
# 查看可用的nginx版本
$ sudo docker search nginx
结果如下
drew@ubuntu:/snap/bin$ sudo docker search nginx
[sudo] password for drew:
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
nginx Official build of Nginx. 14741 [OK]
jwilder/nginx-proxy Automated Nginx reverse proxy for docker con… 2013 [OK]
richarvey/nginx-php-fpm Container running Nginx + PHP-FPM capable of… 813 [OK]
jc21/nginx-proxy-manager Docker container for managing Nginx proxy ho… 179
linuxserver/nginx An Nginx container, brought to you by LinuxS… 142
tiangolo/nginx-rtmp Docker image with Nginx using the nginx-rtmp… 122 [OK]
jlesage/nginx-proxy-manager Docker container for Nginx Proxy Manager 105 [OK]
bitnami/nginx Bitnami nginx Docker Image 96 [OK]
alfg/nginx-rtmp NGINX, nginx-rtmp-module and FFmpeg from sou… 91 [OK]
jasonrivers/nginx-rtmp Docker images to host RTMP streams using NGI… 89 [OK]
nginxdemos/hello NGINX webserver that serves a simple page co… 67 [OK]
privatebin/nginx-fpm-alpine PrivateBin running on an Nginx, php-fpm & Al… 53 [OK]
nginx/nginx-ingress NGINX Ingress Controller for Kubernetes 50
nginxinc/nginx-unprivileged Unprivileged NGINX Dockerfiles 32
staticfloat/nginx-certbot Opinionated setup for automatic TLS certs lo… 20 [OK]
schmunk42/nginx-redirect A very simple container to redirect HTTP tra… 19 [OK]
nginx/nginx-prometheus-exporter NGINX Prometheus Exporter 16
centos/nginx-112-centos7 Platform for running nginx 1.12 or building … 15
centos/nginx-18-centos7 Platform for running nginx 1.8 or building n… 13
bitwarden/nginx The Bitwarden nginx web server acting as a r… 12
flashspys/nginx-static Super Lightweight Nginx Image 10 [OK]
mailu/nginx Mailu nginx frontend 8 [OK]
bitnami/nginx-ingress-controller Bitnami Docker Image for NGINX Ingress Contr… 8 [OK]
ansibleplaybookbundle/nginx-apb An APB to deploy NGINX 2 [OK]
wodby/nginx Generic nginx 1 [OK]
drew@ubuntu:/snap/bin$
(3)拉取 nginx 最新版本
sudo docker pull nginx:latest
(4)查看 拉取最新nginx的版本号
# 查看拉取的nginx 的版本号
sudo docker nginx --version # 或者
sudo docker nginx -v
操作示例
drew@ubuntu:/snap/bin$ sudo docker nginx --version
Docker version 19.03.13, build cd8016b6bc
(5)运行 nginx 容器
# 运行 nginx 容器
sudo docker run --name nginx-test -p 8080:80 -d nginx
参数说明
| 参数名称 | 参数解释 |
|---|---|
| --name nginx-test | 容器名称。 |
| -p 8080:80 | 端口进行映射,将本地8080端口映射到容器内部的 80 端口。 |
| -d nginx | 设置容器在后台一致运行。 |
| 操作结果示例 |
# 操作成功之后,会返回一个UUID作为容器的唯一标识
drew@ubuntu:/snap/bin$ sudo docker run --name nginx-test -p 8080:80 -d nginx
eacdcfafda242c1ab42eb72eaef26110fd48f80b813353e2432d159b43a5e82f
(6)安装运行成功
通过浏览器直接访问 8080 端口和 nginx 服务:
(7)停止 nginx 容器服务
(8)查看 docker 下当前所有的镜像
# 显示docker当前所有的镜像
$ sudo docker images
(9)查看 docker 中 nginx 的运行日志
# 查看nginx运行日志
$ sudo docker container logs nginx-test
结果如下:
drew@ubuntu:/snap/bin$ sudo docker container logs nginx-test
/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
192.168.174.1 - - [20/Apr/2021:10:36:24 +0000] "GET / HTTP/1.1" 200 612 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.128 Safari/537.36 Edg/89.0.774.77" "-"
192.168.174.1 - - [20/Apr/2021:10:36:24 +0000] "GET /favicon.ico HTTP/1.1" 404 556 "http://192.168.174.129:8080/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.128 Safari/537.36 Edg/89.0.774.77" "-"
2021/04/20 10:36:24 [error] 30#30: *1 open() "/usr/share/nginx/html/favicon.ico" failed (2: No such file or directory), client: 192.168.174.1, server: localhost, request: "GET /favicon.ico HTTP/1.1", host: "192.168.174.129:8080", referrer: "http://192.168.174.129:8080/"
drew@ubuntu:/snap/bin$
🙏至此,非常感谢阅读🙏