【Docker】4、Docker安装Nginx

Nginx是一款支持集群,能够提供优秀的负载均衡,反向代理的服务器。我们可以在部署前端的时候,结合动静分离的思想,将静态文件部署在Nginx上,可以很大程度提高前端页面的加载速度,并且我们还能使用Nginx结合网关做反向代理,通过配置可以达到域名访问动态路由。

前置说明

  • 之前的文章安装Docker中已经在CentOS7环境下安装好了Docker,并且配置上了开机自启动以及阿里云国内镜像

  • 今次将使用Docker配置安装Nginx,版本号选择为1.10

  • 之后的操作都使用一般用户,而非root用户,为了方便管理,步骤中会有整理权限归属的操作。

安装步骤

  1. DockerHub启动一个Nginx实例,该步骤主要是从实例中取出Nginx的配置文件,方便之后的文件结构整理以及挂载

    sudo docker run -p 80:80 --name nginx -d nginx:1.10
    
  2. Nginx容器中拷贝出配置文件并整理。主要的目的是将nginx整个文件夹作为配置文件夹conf,便于后期的识别。

    sudo docker container cp 容器标识(ngxin):/etc/nginx 复制出来的路径(/mydata)
    
    sudo chown -R 用户名(Giraffe).组名(dev) 文件位置(/mydata/nginx/)
    
    mv /mydata/nginx/ /mydata/conf
    
    mkdir /mydata/nginx
    
    mv /mydata/conf/ /mydata/nginx/
    
  3. 停止临时的Nginx容器并删除它

    sudo docker stop 容器唯一标识(nginx)
    
    sudo docker rm 容器唯一标识(nginx)
    
  4. 重新以文件挂载的方式创建实例容器并启动。(到这一步已经不需要再从仓库拉取镜像了,因为之前的启动操作已经从仓库里拉取了一个最新的镜像)

    sudo docker run -p 80:80 --name nginx \
    -v /mydata/nginx/html:/usr/share/nginx/html \
    -v /mydata/nginx/logs:/var/log/nginx \
    -v /mydata/nginx/conf:/etc/nginx \
    -d nginx:1.10
    
  5. 整理权限组。

    sudo chown -R 用户名(Giraffe).组名(dev) 文件位置(/mydata/nginx/)
    
  6. 配置开机自启动

    sudo docker update 容器唯一标识(nginx) --restart=always
    
  7. done!此时可以通过docker ps查看ngxin容器的启动情况,并且可以直接将需要静态文件直接挂载在主机端,关于nginx的反向代理配置或者是动态路由,都可以直接在外部的挂载文件中修改,都能立即生效到容器内部。

你可能感兴趣的:(【Docker】4、Docker安装Nginx)