把haproxy放在docker外面

我正在尝试使用构图来构build整个应用程序。 我的整个应用程序需要保持在同一个networking上。 所以我不会使用–scale选项。 我将build立我的应用程序,如:

docker-compose -p myapp1 up -d docker-compose -p myapp2 up -d 

这工作得很好。

现在我的每个容器分别属于networking:

 6b87698e3953 myapp1_default bridge local 2d14e226b2e1 myapp2_default bridge local 

直到那里是完美的。

然后我的应用程序正在暴露一个端口(对于一个API)。 假设myapp1正在公开9090和myapp2 9191

我可以通过正确的端口curl来独立达到他们。

现在我想把ha代理运行在一个Docker容器中,可以通过循环方式转发到2 APP。

所以我试图链接到一个给定的容器(使用tutm图像)

 docker run -d -p 80:80 --link myapp1_api_1:myapp1_api_1 --net myapp1_default tutum/haproxy 

但它不工作。 请求是不是转发…你也许知道我可以做一个简单的设置说,容器=> reroot分别主机端口9090和9191

由于有暴露(可以从127.0.0.1的本地主机访问),也许有一种方法可以说在127.0.0.1:9090和127.0.0.1:9191重新根据

提前致谢

这是我的docker – 第一个应用程序(9090)。 只要用9191代替9090就可以了。

 version: '2' services: # Start worker serverworker: image: worker volumes: - ./scripts/:/opt/open-ocr/ dns: ["8.8.8.8"] depends_on: - rabbitmq command: "/opt/server/worker" api: image: api volumes: - ./scripts/:/opt/server/ ports: - "9090:9090" dns: ["8.8.8.8"] depends_on: - serverworker command: "/opt/server/server-httpd -http_port 9090" 

我的日志里没有任何东西:

 INFO:haproxy:==========BEGIN========== INFO:haproxy:Initial start INFO:haproxy:Loading HAProxy definition from environment variables INFO:haproxy:HAProxy configuration: global log 127.0.0.1 local0 log 127.0.0.1 local1 notice log-send-hostname maxconn 4096 pidfile /var/run/haproxy.pid user haproxy group haproxy daemon stats socket /var/run/haproxy.stats level admin ssl-default-bind-options no-sslv3 ssl-default-bind-ciphers <SHA> defaults balance roundrobin log global mode http option redispatch option httplog option dontlognull option forwardfor timeout connect 5000 timeout client 50000 timeout server 50000 listen stats bind :1936 mode http stats enable timeout connect 10s timeout client 1m timeout server 1m stats hide-version stats realm Haproxy\ Statistics stats uri / stats auth stats:stats INFO:haproxy:Launching HAProxy INFO:haproxy:HAProxy has been launched(PID: 7) INFO:haproxy:===========END=========== 

但是,当我input命令:

 docker run -d -p 80:80 --link myapp1_api_1:myapp1_api_1 --net myapp1_default tutum/haproxy 

我有这样的输出:

 e9e4e188c96bcd01faa09dcd4fc14f75414171fc76222c1864dbe27d0a06b874