我正在使用docker-compose在bluemix容器服务上运行应用程序。我使用nginx作为代理网络服务器和负载均衡器。
我找到了一个使用docker事件自动检测新Web服务器并将其动态添加到nginx配置的图像:
https://github.com/jwilder/nginx-proxy
但为了实现这一点,我认为容器需要连接到docker socket。我对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配置中的Web服务器列表。
我想知道如何运行nginx-proxy映像以便自动检测Web实例?
答案 0 :(得分:2)
Bluemix上的容器服务没有公开该docker socket(这并不奇怪,这对计算主机来说是一个安全风险)。另外两种方法可以实现您的目标: