docker启动nginx代理不上_阿里云上docker部署nginx实现反向代理

简介

需要从镜像仓库找到所需要的nginx版本pull下来.(地址:https://hub.docker.com/)

1.docker pull nginx

1.挂载目录

1.1 获取nginx.conf配置文件

首先建立需要挂载的目录。

1.mkdir -p {logs,conf,html}

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

1.3 运行nginx服务

需要的前期工作已经准备好了,现在就可以运行nginx服务了;

1.命令

docker run --name nginx -tid --restart=always -v /root/data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /root/data/ng inx/logs:/var/log/nginx -v /root/data/nginx/html:/etc/nginx/html -p 8080:80 nginx

1.4 运行

到此就可以直接访问nginx服务了。

配置反向代理

如果需要配置反向代理的话,简单的就在nginx.conf下的http节点下添加server节点即可

server {

listen 8102;

server_name 192.168.0.109;

location / {

proxy_pass http://192.168.0.109:8090;

}

}

然后执行docker restart nginx即可

注意:添加完如上代码之后,如果是在liunx上可以这么运行。但是由于docker网络是一个默认的单机桥接网络,也就是说该网络只能在单个Docker上运行,并且只能在docker容器内部访问,宿主机是无法访问到刚配置的8102端口,因为该端口还没做映射。所以如果是想要监听8102端口,需要在运行nginx的时候加上-p 8102:8102这句话

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值