‘壹’ 基于 Docker 安装 Nginx,启动运行,外网访问,映射配置文件
基于 Docker 安装 Nginx
   查找Nginx镜像
   语法:docker search nginx
   示例:
  
 获取Nginx镜像
  
 示例:
  
 启动nginx容器实例
  
 说明:--name nginx nginx 第一个nginx是通过--name指定的nginx容器实例的名称,另一个nginx表示nginx仓库的名称。
  
 查看nginx容器实例的进程信息
  
 通过ps -ef | grep nginx查看
  
 进入nginx容器内
  
 杀死nginx容器实例
  
 停止nginx实例
  
 启动nginx容器实例
  
 重启nginx容器实例
  
 移除nginx容器实例
  
 案例
   暴露外部端口
   基于docker run -d --name nginx nginx方法启动nginx后,Docker 容器并没有对外暴露访问的端口,即无法通过当前主机外部浏览器器访问nginx。那么该怎么样呢?
  
 语法:
  
 -p 80:80:通过-p来指定Docker容器中nginx实例对外开放的端口。本例中,第一个80端口是对外开放的端口,第二个80端口指对外开放的端口映射到容器里的端口号。
  
 示例:
  
 通过当前主机外的浏览器访问nginx,如下图:
  
 指定外部的配置文件
   语法:
  
 说明:
   -v: 表示挂载一个本机目录或文件到容器里。
   -v /develop/nginx/nginx.conf:/etc/nginx/nginx.conf:将/develop/nginx/nginx.conf配置文件挂载到容器中/etc/nginx/nginx.conf这个配置文件中。
   -v /develop:/develop:将/develop这个目录挂载到容器里的/develop这个目录里。
  
 示例:
  
 注意事项:指定外部配置文件,同时需要指定nginx的首页面,否则会抛出404错误,原因就是因为nginx找不到配置文件中默认的index页面。
   本例中,使用/develop/apps/static/index.html替代了容器里的nginx默认的index页面,同时,-v /develop:/develop挂载根目录即可访问子目录。
  
 指定网络模式:--net=bridge 默认模式
  
 其中8080是指主机的端口,而80是指容器的端口
   我们先看一下端口的状态
  
 docker是运行在Linux上的,在Windows中运行docker,实际上还是在Windows下先安装了一个Linux环境,然后在这个系统中运行的docker。也就是说,服务中使用的localhost指的是这个Linux环境的地址,而不是我们的宿主环境Windows。我们可以通过命令:
  
 找到这个Linux的ip地址,一般情况下这个地址是192.168.99.100,然后在Windows的浏览器中,输入这个地址,加上服务的端口即可启用了。
