V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
fortunezhang
V2EX  ›  Docker

如何配置 nginx 转发不同请求到不同的 docker

  •  
  •   fortunezhang · 2016-05-29 09:18:21 +08:00 · 5327 次点击
    这是一个创建于 2879 天前的主题,其中的信息可能已经有所发展或是发生改变。

    docker 新手一个,有这么一个想法,我现在有一台服务器,假如服务器的 ip 是 111.111.111.111 ,然后我把 name.test.comage.test.com 同时解析到了 111.111.111.111 。 我这台服务器是 ubuntu ,上面有 nginx 来管理所有的请求,当 nginx 发现请求是请求 name.test.com 的时候我把请求转发给 docker A , docker A 里面有经过一系列的处理返回给 nginx 一个网页或者一些列的数据, nginx 将这些数据返回给用户。同理当 nginx 发现是请求 age.test.com 的时候,将请求转发给 docker B , docker B 处理返回。 问题: 1.这样的设计是否可行,可以实现。 2.如果可以实现的话,怎么配置 nginx 和 docker ,希望各位指点。或者给我一些资料地址。

    谢谢!

    9 条回复    2016-05-29 16:51:30 +08:00
    int64ago
        1
    int64ago  
       2016-05-29 09:28:45 +08:00
    不同 Docker 映射出不用的端口, Nginx 直接区别反代
    int64ago
        2
    int64ago  
       2016-05-29 09:29:18 +08:00
    s/不用 /不同 /g
    lujjjh
        3
    lujjjh  
       2016-05-29 10:32:44 +08:00 via iPhone   ❤️ 1
    zjqzxc
        4
    zjqzxc  
       2016-05-29 10:49:16 +08:00   ❤️ 2
    server {
    listen 80;
    listen [::]:80;

    server_name name.test.com;

    location / {
    proxy_pass http://127.0.0.1:port1;
    proxy_set_header Hos artcms.com;
    proxy_set_header X-Forwarded-For $remote_addr;
    }
    }
    server {
    listen 80;
    listen [::]:80;

    server_name age.test.com;

    location / {
    proxy_pass http://127.0.0.1:port2;
    proxy_set_header Hos artcms.com;
    proxy_set_header X-Forwarded-For $remote_addr;
    }
    }

    port1 port2 为 docker 的端口
    或者如果 docker 有自己的 ip 的时候直接写对应 docker 的 ip 就行了
    icybee
        5
    icybee  
       2016-05-29 11:37:42 +08:00
    前一段时间正好遇到过这个需求

    http://icybee.cn/article/57.html

    看其中的 动态二级域名实现方案 这一小节
    fortunezhang
        6
    fortunezhang  
    OP
       2016-05-29 14:16:51 +08:00
    @icybee 谢谢,我看一下。
    fortunezhang
        7
    fortunezhang  
    OP
       2016-05-29 14:17:08 +08:00
    @lujjjh thx
    defunct9
        8
    defunct9  
       2016-05-29 15:41:57 +08:00
    icybee
        9
    icybee  
       2016-05-29 16:51:30 +08:00
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   4937 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 172ms · UTC 10:00 · PVG 18:00 · LAX 03:00 · JFK 06:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.