11.2 Nginx

Nginx是一款功能强大的开源反向代理服务器,支持HTTP、HTTPS、SMTP、POP3、IMAP等协议。它也可以作为负载均衡器、HTTP缓存或Web服务器。Nginx一开始就专注于高并发和高性能的应用场景。它使用类BSD开源协议,支持Linux、BSD、Mac、Solaris、AIX等类Unix系统,同时也有Windows上的移植版本。

11.2 Nginx - 图1

本节将介绍Nginx官方镜像的使用。

1.使用官方镜像

用户可以使用docker run指令直接运行官方Nginx镜像:


  1. $ docker run -d -p 80:80 --name webserver nginx
  2. 34bcd01998a76f67b1b9e6abe5b7db5e685af325d6fafb1acd0ce84e81e71e5d

然后使用docker ps指令查看当前运行的docker ps指令查看当前运行的容器:


  1. $ docker ps
  2. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
  3. 34bcd01998a7 nginx "nginx..." 2min ago Up 0.0.0.0:80->80/tcp, 443/tcp webserver

目前Nginx容器已经在0.0.0.0:80启动,并映射了80端口,此时可以打开浏览器访问此地址,就可以看到Nginx输出的页面,如图11-2所示。

11.2 Nginx - 图2

图11-2 访问Nginx服务

2.自定义Web页面

同样的,创建index.html文件,并将index.html文件挂载至容器中,即可看到显示自定义的页面。


  1. $ docker run --name nginx-container -p 80:80 -v index.html:/usr/share/nginx/
  2. html:ro -d nginx

另外,也可以使用Dockerfile来构建新镜像。Dockerfile内容如下:


  1. FROM nginx
  2. COPY ./index.html /usr/share/nginx/html

开始构建镜像my-nginx:


  1. $ docker build -t my-nginx .

构建成功后执行docker run指令:


  1. $ docker run --name nginx-container -d my-nginx