如何将nginx用作Bluemix上的dynamic负载平衡代理服务器?

我正在使用dockercompose在bluemix容器服务上运行应用程序。 我使用nginx作为代理networking服务器和负载均衡器。

我发现了一个使用docker事件来自动检测新的Web服务器并将它们dynamic添加到nginxconfiguration中的图像:

https://github.com/jwilder/nginx-proxy

但为了这个工作,我认为容器需要连接到一个dockersockets。 我不是很熟悉docker,我不知道这是什么,但基本上这是必要的,使图像可以听泊坞的事件。

图像文档中的运行命令如下所示:

docker run -d -p 80:80 -v /var/run/docker.sock:/tmp/docker.sock:ro jwilder/nginx-proxy 

我一直无法在容器服务中运行它,因为它在主机上找不到/var/run/docker.sock文件。

bluemix文档有一个解释如何使用nginx进行负载平衡的教程 。 但是它需要在nginxconfiguration中有一个“硬编码”的web服务器列表。

我想知道如何运行nginx-proxy镜像,以便自动检测web实例?

Bluemix上的容器服务不公开该docker套接字(不奇怪,这对计算主机来说是一个安全风险)。 一些替代方法来完成你想要的东西:

  • 像amalgam8或领事,这基本上就是这样做
  • 类似的,但是自己写的 – 有一个共享卷,然后启动时每个容器都会向共享卷添加一个文件,说明它是什么,加上它的私有IP。 nginx容器在共享卷上有一个监视,并在这些变化时重新加载。 (比amalgam8或领事工作更多,但也许更多的控制)