Docker中配置Nginx多域名配置多个应用

注意容器中是一个被隔离的空间,可以理解为一个独立的服务器,所以在做反向代理的时候,nginx配置不能使用localhost,可以使用link方式去访问其他容器
nginxa:
    container_name: nginxa
    image: registry.cn-shenzhen.aliyuncs.com/beni/nginx:latest
    volumes:
        - C:/data/nginxa/conf.d:/etc/nginx/conf.d
        - C:/data/nginxa/www:/usr/share/nginx/html
 
nginxb:
    container_name: nginxb
    image: registry.cn-shenzhen.aliyuncs.com/beni/nginx:latest
    volumes:
        - C:/data/nginxb/conf.d:/etc/nginx/conf.d
        - C:/data/nginxb/www:/usr/share/nginx/html
 
nginxc:
    container_name: nginxc
    image: registry.cn-shenzhen.aliyuncs.com/beni/nginx:latest
    ports:
        - 80:80
    volumes:
        - C:/data/nginxc/conf.d:/etc/nginx/conf.d
    links:
        - nginxa:nginxa
        - nginxb:nginxb
server {
    listen       80;
    server_name  a.pytask.com;
 
    location / {
        proxy_set_header Host $host; 
        proxy_set_header X-Real-IP $remote_addr; 
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
        proxy_pass http://nginxa:80/;
    }
}
server {
    listen       80;
    server_name  b.pytask.com;
 
    location / {
        proxy_set_header   Host    $host; 
        proxy_set_header   X-Real-IP   $remote_addr; 
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for; 
        proxy_pass http://nginxb:80/;
    }
 
}
a.pytask.com访问应用a
b.pytask.com访问应用b
其中a和b两个容器可以不做端口映射,因为c是用过link方式访问a和b
c做的是反向代理,开放80端口给外部访问

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值