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

如何将nginx用作Bluemix上的动态负载平衡代理服务器?,nginx,containers,ibm-cloud,load-balancing,docker-compose,Nginx,Containers,Ibm Cloud,Load Balancing,Docker Compose,我正在使用docker compose在bluemix容器服务上运行应用程序。我使用nginx作为代理web服务器和负载平衡器 我发现了一个映像,它使用docker事件自动检测新的web服务器,并将这些服务器动态添加到nginx配置中: 但是为了让它工作,我认为容器需要连接到docker套接字。我对docker不是很熟悉,我也不知道这到底是做什么的,但本质上这是必要的,这样图像就可以收听docker事件 映像文档中的run命令如下所示: docker run -d -p 80:80 -v /v

我正在使用docker compose在bluemix容器服务上运行应用程序。我使用nginx作为代理web服务器和负载平衡器

我发现了一个映像,它使用docker事件自动检测新的web服务器,并将这些服务器动态添加到nginx配置中:

但是为了让它工作,我认为容器需要连接到docker套接字。我对docker不是很熟悉,我也不知道这到底是做什么的,但本质上这是必要的,这样图像就可以收听docker事件

映像文档中的run命令如下所示:

docker run -d -p 80:80 -v /var/run/docker.sock:/tmp/docker.sock:ro jwilder/nginx-proxy
我无法在容器服务中运行此操作,因为它在主机上找不到
/var/run/docker.sock
文件

bluemix文档有一个。但它需要nginx配置中的web服务器的“硬编码”列表


我想知道如何运行nginx代理映像以便自动检测web实例?

Bluemix上的containers服务不会公开docker套接字(毫不奇怪,这会给计算主机带来安全风险)。实现您想要的目标的两种备选方法:

  • 类似amalgam8或Consour的东西,基本上就是这样做的
  • 类似,但自行编写-有一个共享卷,然后每个卷 容器在启动时向该共享卷添加一个文件,说明其内容 是,加上它的私有ip。nginx容器在共享服务器上有一个手表 卷,并在这些更改时重新加载。(比amalgam8或更大的工作量) 领事,但也许更具控制力)

我添加了containers标签,因为Bluemix containers开发团队遵循这一原则。必须移除插座标签才能执行此操作。