跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • jwilder/nginx-proxy 这个镜像是啥原理可以动态设置多域名
未分類
30 3 月 2021

jwilder/nginx-proxy 这个镜像是啥原理可以动态设置多域名

jwilder/nginx-proxy 这个镜像是啥原理可以动态设置多域名

資深大佬 : dzdh 0

https://www.yannmoisan.com/docker.html

docker run -d -p 80:80 -v /var/run/docker.sock:/tmp/docker.sock:ro jwilder/nginx-proxy docker run -d -e VIRTUAL_HOST=site1 ymn/site1 docker run -d -e VIRTUAL_HOST=site2 ymn/site2 

怎么就nginx-proxy就能获取到 site1.domain 然后当 nginx-proxy收到 80 端口请求后再动态转发给 site 这个容器的?

如果不用这种形式的话。是不是就只能是改容器内的 nginx 的配置文件?

大佬有話說 (7)

  • 資深大佬 : Tink

    反向代理吧

  • 主 資深大佬 : dzdh

    @Tink

    三个隔离的容器 proxy 是怎么知道哪个 domain 『绑』在哪个 container 上?端口是什么?然后把请求发过去的

  • 資深大佬 : Tink

    @dzdh 这明显是要配置的啊,你看文章啊

  • 資深大佬 : Tink

    @dzdh

    Let’s create a new project, divided in 3 folders : site1, site2, proxy. One folder for each container.

    proxy
    Dockerfile
    conf
    conf.d
    site1.conf
    site2.conf
    site1
    Dockerfile
    index.html
    site2
    Dockerfile
    index.html

  • 資深大佬 : oott123

    人家写得很清楚…

    Docker expose a remote API that allows to automate many tasks. So some projects leverage this API, like nginx-proxy which generate automatically the config of the proxy:

  • 資深大佬 : Kilerd

    本质上这个就是用 docker-gen 来实时读取 docker container 的列表,然后筛选出带 host 标签的 container,然后生成一份最新的 nginx.conf,然后执行 nginx reload, 就这么简单

  • 主 資深大佬 : dzdh

    @oott123
    @Kilerd

    好的,看了 dockerfile,使用了 docker-gen,定时刷 共享的 docker.sock 调用接口 /containers/json 然后再遍历所有容器再调用 /containers/$containerId/json 再获取 {{.Config.Env}} 然后刷新 nginx 配置文件

    如果不用这种方案是不是就只能 把配置文件固定在镜像内然后再启动 service 了(swarm)

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具