如何将 nginx 用作 Bluemix 上的动态负载平衡代理服务器?
How can I use nginx as a dynamic load balancing proxy server on Bluemix?
我正在使用 docker-compose 来 运行 bluemix 容器服务上的应用程序。我正在使用 nginx 作为代理网络服务器和负载平衡器。
我找到了一个图像,它使用 docker 事件来自动检测新的 Web 服务器并将它们动态添加到 nginx 配置中:
https://github.com/jwilder/nginx-proxy
但要使其正常工作,我认为容器需要连接到 docker 套接字。我对 docker 不是很熟悉,我也不知道它到底是做什么的,但本质上它是必要的,这样图像才能监听 docker 事件。
图像文档中的 运行 命令如下:
docker run -d -p 80:80 -v /var/run/docker.sock:/tmp/docker.sock:ro jwilder/nginx-proxy
我无法在容器服务中运行这个,因为它在主机上找不到/var/run/docker.sock
文件。
bluemix 文档有 tutorial explaining how to do load balancing with nginx。但它需要 nginx 配置中的 "hard coded" 个 Web 服务器列表。
我想知道如何 运行 nginx-proxy 图像以便自动检测网络实例?
Bluemix 上的容器服务不会公开 docker 套接字(不足为奇,这会对计算主机构成安全风险)。几种替代方法来完成您想要的:
- 类似 amalgam8 或 consul 的东西,基本上就是这样做的
- 相似,但自写 - 有一个共享卷,然后每个
容器在启动时向该共享卷添加一个文件说明它的内容
是,加上它的私有ip。 nginx 容器监视共享
音量,并在更改时重新加载。 (比 amalgam8 或
领事,但也许更多的控制)
我正在使用 docker-compose 来 运行 bluemix 容器服务上的应用程序。我正在使用 nginx 作为代理网络服务器和负载平衡器。
我找到了一个图像,它使用 docker 事件来自动检测新的 Web 服务器并将它们动态添加到 nginx 配置中:
https://github.com/jwilder/nginx-proxy
但要使其正常工作,我认为容器需要连接到 docker 套接字。我对 docker 不是很熟悉,我也不知道它到底是做什么的,但本质上它是必要的,这样图像才能监听 docker 事件。
图像文档中的 运行 命令如下:
docker run -d -p 80:80 -v /var/run/docker.sock:/tmp/docker.sock:ro jwilder/nginx-proxy
我无法在容器服务中运行这个,因为它在主机上找不到/var/run/docker.sock
文件。
bluemix 文档有 tutorial explaining how to do load balancing with nginx。但它需要 nginx 配置中的 "hard coded" 个 Web 服务器列表。
我想知道如何 运行 nginx-proxy 图像以便自动检测网络实例?
Bluemix 上的容器服务不会公开 docker 套接字(不足为奇,这会对计算主机构成安全风险)。几种替代方法来完成您想要的:
- 类似 amalgam8 或 consul 的东西,基本上就是这样做的
- 相似,但自写 - 有一个共享卷,然后每个 容器在启动时向该共享卷添加一个文件说明它的内容 是,加上它的私有ip。 nginx 容器监视共享 音量,并在更改时重新加载。 (比 amalgam8 或 领事,但也许更多的控制)