docker nginx 正确的使用姿势是什么?

0 0 docker
Carlos Beranger
Carlos Beranger

声望值:174 0人

2019-01-26 15:17:43 提问

关注 0关注

收藏 0收藏, 11浏览

感谢各位的回答,统一回答一下:代码变动为何要重启nginx?
典型场景,基于nginx的微服务。
a.service.com:80
b.service.com:80
服务代码升级肯定有变动,有变动肯定要重启服务,a和b之间肯定不能互相影响。
(至于为什么是基于nginx的微服务,这不是重点。)

目前用的云服务供应商的容器服务是可以配置就好,全是80端口可以访问,但是我想知道自己实现如何实现的。

**我不知道有人踩一下一个问题的原因是什么?
这个问题有什么问题请指出来好吗?**

请先 登录 后评论

6个回答

  • xyf76声望 2018-09-25 09:27

    运行一个nginx容器,将配置文件挂载进去即可。 你可以每个虚拟主机定义一个单独的.conf配置文件,把整个目录挂载到容器中的/etc/nginx/conf.d/即可
    请先 登录 后评论
  • 代码宇宙150声望 2018-09-25 09:31

    我不明白的是,代码变动为何要重启nginx。如果让每个容器都映射到80绝对是有冲突的,建议你使用负载均衡或反向代理去完成你想要的实现。
    请先 登录 后评论
  • c语言我最爱157声望 2018-09-25 09:31

    讲道理,a和b肯定是互不影响的,因此肯定是将a和b分别放到两个nginx里面,我觉得这句不太对(个人理解),放一个容器也没有问题的吧,不使用Docker时,Nginx通常也用于代理多个服务。说放一起相互影响,那么前端挂一个代理,去分别代理a和b两个服务,那么在代理这一层,两者不也会相互影响么。
    请先 登录 后评论
  • c语言我最爱157声望 2018-09-25 09:31

    docker启动一个nginx容器监听80,然后启动一个8080端口的容器a和8081容器的b,在用nginx的配置文件里监听访问的域名然后分发到不同的端口,html和js改动了不用重启的
    请先 登录 后评论
  • wy小骑士55声望 2018-09-25 09:32

    这个需求用nginx-proxy就可以完美解决了 github地址 先启动nginx-proxy给它80、443端口 然后后续有容器要对外服务并有域名的时候,环境变量加个VIRTUAL_HOST就行了 具体用法详见github
    请先 登录 后评论
  • wolfing_85声望 2018-09-25 09:32

    搞不懂问什么,不过: 我现在有两个sites:a.com,b.com 都放到容器里面。讲道理,a和b肯定是互不影响的,因此肯定是将a和b分别放到两个nginx里面。但是又不能同时映射到80端口,请问应当如何解决? 1个 nginx 即可,可以同时使用 80 端口。
    请先 登录 后评论

注册新账号

悬赏追问
10
  • 10
  • 20
  • 50
  • 100
  • 200
  • 输入数值
发布追问