阿里云上docker部署nginx实现反向代理
zyz1 人气:0
# 简介
需要从镜像仓库找到所需要的nginx版本pull下来.(地址:https://hub.docker.com/)
1.docker pull nginx
![](https://img2020.cnblogs.com/blog/697931/202003/697931-20200310165307680-1908532052.png)
## 1.挂载目录
#### 1.1 获取nginx.conf配置文件
首先建立需要挂载的目录。
1.mkdir -p {logs,conf,html}
![](https://img2020.cnblogs.com/blog/697931/202003/697931-20200310170525668-1208534848.png)
#### 1.2 创建nginx.conf文件
需要从nginx的配置文件当中获取出来**nginx.conf**这个配置文件。(也可以手动编辑,为了方便所以直接从运行中的nginx当中获取nginx.conf)
复制出来nginx.conf文件之后,删除刚才我们创建的那个nginx服务
1.首先运行nginx服务 docker run -tid -name nginx nginx:latest 2.把nginx当中nginx.conf复制到宿主机当中 docker cp nginx:/etc/nginx/nginx.conf . 3.此时在删除之前运行的容器 docekr rm -f nginx ![](https://img2020.cnblogs.com/blog/697931/202003/697931-20200310170155291-734579594.png) #### 1.3 运行nginx服务 需要的前期工作已经准备好了,现在就可以运行nginx服务了; 1.命令 docker run --name nginx -tid --restart=always -v /roothttps://img.qb5200.com/download-x/data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /roothttps://img.qb5200.com/download-x/data/ng inx/logs:/var/log/nginx -v /roothttps://img.qb5200.com/download-x/data/nginx/html:/etc/nginx/html -p 8080:80 nginx ![](https://img2020.cnblogs.com/blog/697931/202003/697931-20200310170659563-2071331576.png) #### 1.4 运行 到此就可以直接访问nginx服务了。 ![](https://img2020.cnblogs.com/blog/697931/202003/697931-20200310170911910-160092178.png) ### 配置反向代理 如果需要配置反向代理的话,简单的就**在nginx.conf下的http节点下添加server节点即可**
server { listen 8102; server_name 192.168.0.109; location / { proxy_pass http://192.168.0.109:8090; } } ![](https://img2020.cnblogs.com/blog/697931/202003/697931-20200310171230703-540369745.png) 然后执行docker restart nginx即可 **注意:添加完如上代码之后,如果是在liunx上可以这么运行。但是由于docker网络是一个默认的单机桥接网络,也就是说该网络只能在单个Docker上运行,并且只能在docker容器内部访问,宿主机是无法访问到刚配置的8102端口,因为该端口还没做映射。所以如果是想要监听8102端口,需要在运行nginx的时候加上-p 8102:8102这句话**
复制出来nginx.conf文件之后,删除刚才我们创建的那个nginx服务
1.首先运行nginx服务 docker run -tid -name nginx nginx:latest 2.把nginx当中nginx.conf复制到宿主机当中 docker cp nginx:/etc/nginx/nginx.conf . 3.此时在删除之前运行的容器 docekr rm -f nginx ![](https://img2020.cnblogs.com/blog/697931/202003/697931-20200310170155291-734579594.png) #### 1.3 运行nginx服务 需要的前期工作已经准备好了,现在就可以运行nginx服务了; 1.命令 docker run --name nginx -tid --restart=always -v /roothttps://img.qb5200.com/download-x/data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /roothttps://img.qb5200.com/download-x/data/ng inx/logs:/var/log/nginx -v /roothttps://img.qb5200.com/download-x/data/nginx/html:/etc/nginx/html -p 8080:80 nginx ![](https://img2020.cnblogs.com/blog/697931/202003/697931-20200310170659563-2071331576.png) #### 1.4 运行 到此就可以直接访问nginx服务了。 ![](https://img2020.cnblogs.com/blog/697931/202003/697931-20200310170911910-160092178.png) ### 配置反向代理 如果需要配置反向代理的话,简单的就**在nginx.conf下的http节点下添加server节点即可**
server { listen 8102; server_name 192.168.0.109; location / { proxy_pass http://192.168.0.109:8090; } } ![](https://img2020.cnblogs.com/blog/697931/202003/697931-20200310171230703-540369745.png) 然后执行docker restart nginx即可 **注意:添加完如上代码之后,如果是在liunx上可以这么运行。但是由于docker网络是一个默认的单机桥接网络,也就是说该网络只能在单个Docker上运行,并且只能在docker容器内部访问,宿主机是无法访问到刚配置的8102端口,因为该端口还没做映射。所以如果是想要监听8102端口,需要在运行nginx的时候加上-p 8102:8102这句话**
加载全部内容