Comments (12)
I'm using docker 1.11.1 fyi
from dockercloud-haproxy.
I stumbled upon the same issue using a Docker Machine created Swarm cluster on OS X. Running docker exec *node* sh ./reload.sh
leads to the very same exception. System:
Client:
Version: 1.11.1
API version: 1.23
Go version: go1.5.4
Git commit: 5604cbe
Built: Wed Apr 27 00:34:20 2016
OS/Arch: darwin/amd64
Server:
Version: swarm/1.2.0
API version: 1.22
Go version: go1.5.4
Git commit: a6c1f14
Built: Wed Apr 13 05:58:31 UTC 2016
OS/Arch: linux/amd64
from dockercloud-haproxy.
@beevelop interestingly enough I was also running a swarm cluster on AWS provisioned by Docker Machine
from dockercloud-haproxy.
@ryanshawty I didn't validate this issue on AWS but can definitely confirm it on an Azure cluster (provisioned with Docker Machine and the new less buggy azure client).
from dockercloud-haproxy.
Similar issue here...
I am running a docker swarm on aws with all containers in an overlay network.
Using ADDITIONAL_SERVICES
doesn't even succeed on initial load (Failed to connect to weblb port 80: Connection refused
).
from dockercloud-haproxy.
+1
Initial startup fine.. scale events fail to register with lb container.
I am running VMs just on VMware vSphere - no public cloud FWIW.
[root@S623 roundcube]# docker info
Containers: 13
Running: 13
Paused: 0
Stopped: 0
Images: 18
Server Version: swarm/1.2.2
Role: primary
Strategy: spread
Filters: health, port, containerslots, dependency, affinity, constraint
Nodes: 2
S624: 192.168.10.64:2375
└ ID: OML2:PAY7:RPLO:NRTH:R6IA:2KQY:WAD2:XMYE:OGKZ:UI7Y:M6ZK:HSF2
└ Status: Healthy
└ Containers: 7
└ Reserved CPUs: 0 / 4
└ Reserved Memory: 0 B / 8.015 GiB
└ Labels: executiondriver=, kernelversion=3.10.0-327.18.2.el7.x86_64, operatingsystem=CentOS Linux 7 (Core), storagedriver=devicemapper
└ Error: (none)
└ UpdatedAt: 2016-05-27T02:56:13Z
└ ServerVersion: 1.11.1
S625: 192.168.10.65:2375
└ ID: K3TX:OR3S:MYUB:WGQH:BR5U:CB4F:TGDN:QCJI:XFL4:GEK5:I7C7:LEYN
└ Status: Healthy
└ Containers: 6
└ Reserved CPUs: 0 / 2
└ Reserved Memory: 0 B / 8.015 GiB
└ Labels: executiondriver=, kernelversion=3.10.0-327.18.2.el7.x86_64, operatingsystem=CentOS Linux 7 (Core), storagedriver=devicemapper
└ Error: (none)
└ UpdatedAt: 2016-05-27T02:56:44Z
└ ServerVersion: 1.11.1
Plugins:
Volume:
Network:
Kernel Version: 3.10.0-327.18.2.el7.x86_64
Operating System: linux
Architecture: amd64
CPUs: 6
Total Memory: 16.03 GiB
Name: dc34517a9051
Docker Root Dir:
Debug mode (client): false
Debug mode (server): false
WARNING: No kernel memory limit support
LOGS
[root@S623 roundcube]# docker-compose logs -f lb
Attaching to roundcube_lb_2, roundcube_lb_1
lb_2 | WARNING: Tini has been relocated to /sbin/tini.
lb_2 | Please update your scripts to use /sbin/tini going forward.
lb_2 | /usr/bin/tini has been preserved for backwards compatibility in Alpine 3.4,
lb_2 | but WILL BE REMOVED in Alpine 3.5.
lb_2 |
lb_2 | INFO:haproxy:dockercloud/haproxy 1.4.2 is running outside Docker Cloud
lb_2 | INFO:haproxy:New link mode, loading HAProxy definition through docker api
lb_2 | INFO:haproxy:dockercloud/haproxy PID: 5
lb_2 | INFO:haproxy:==========BEGIN==========
lb_2 | INFO:haproxy:Initial start
lb_2 | INFO:haproxy:Linked service: roundcube:web
lb_2 | INFO:haproxy:Linked container: roundcube_web_2
lb_2 | INFO:haproxy:HAProxy configuration:
lb_2 | global
lb_1 | WARNING: Tini has been relocated to /sbin/tini.
lb_2 | log 127.0.0.1 local0
lb_2 | log 127.0.0.1 local1 notice
lb_1 | Please update your scripts to use /sbin/tini going forward.
lb_2 | log-send-hostname
lb_1 | /usr/bin/tini has been preserved for backwards compatibility in Alpine 3.4,
lb_2 | maxconn 4096
lb_1 | but WILL BE REMOVED in Alpine 3.5.
lb_2 | pidfile /var/run/haproxy.pid
lb_2 | user haproxy
lb_2 | group haproxy
lb_1 |
lb_1 | INFO:haproxy:dockercloud/haproxy 1.4.2 is running outside Docker Cloud
lb_1 | INFO:haproxy:New link mode, loading HAProxy definition through docker api
lb_1 | INFO:haproxy:dockercloud/haproxy PID: 6
lb_1 | INFO:haproxy:==========BEGIN==========
lb_1 | INFO:haproxy:Initial start
lb_2 | daemon
lb_1 | INFO:haproxy:Linked service: roundcube:web
lb_2 | stats socket /var/run/haproxy.stats level admin
lb_1 | INFO:haproxy:Linked container: roundcube_web_1
lb_2 | ssl-default-bind-options no-sslv3
lb_1 | INFO:haproxy:HAProxy configuration:
lb_2 | ssl-default-bind-ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:AES128-GCM-SHA256:AES128-SHA256:AES128-SHA:AES256-GCM-SHA384:AES256-SHA256:AES256-SHA:DHE-DSS-AES128-SHA:DES-CBC3-SHA
lb_1 | global
lb_2 | defaults
lb_1 | log 127.0.0.1 local0
lb_2 | balance roundrobin
lb_1 | log 127.0.0.1 local1 notice
lb_2 | log global
lb_1 | log-send-hostname
lb_2 | mode http
lb_1 | maxconn 4096
lb_2 | option redispatch
lb_2 | option httplog
lb_1 | pidfile /var/run/haproxy.pid
lb_2 | option dontlognull
lb_1 | user haproxy
lb_2 | option forwardfor
lb_1 | group haproxy
lb_2 | timeout connect 5000
lb_1 | daemon
lb_2 | timeout client 50000
lb_1 | stats socket /var/run/haproxy.stats level admin
lb_2 | timeout server 50000
lb_1 | ssl-default-bind-options no-sslv3
lb_1 | ssl-default-bind-ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:AES128-GCM-SHA256:AES128-SHA256:AES128-SHA:AES256-GCM-SHA384:AES256-SHA256:AES256-SHA:DHE-DSS-AES128-SHA:DES-CBC3-SHA
lb_2 | listen stats
lb_1 | defaults
lb_2 | bind :1936
lb_1 | balance roundrobin
lb_2 | mode http
lb_1 | log global
lb_2 | stats enable
lb_2 | timeout connect 10s
lb_2 | timeout client 1m
lb_2 | timeout server 1m
lb_2 | stats hide-version
lb_1 | mode http
lb_2 | stats realm Haproxy\ Statistics
lb_2 | stats uri /
lb_2 | stats auth auth:auth
lb_1 | option redispatch
lb_1 | option httplog
lb_2 | frontend default_port_80
lb_1 | option dontlognull
lb_2 | bind :80
lb_2 | reqadd X-Forwarded-Proto:\ http
lb_1 | option forwardfor
lb_1 | timeout connect 5000
lb_1 | timeout client 50000
lb_1 | timeout server 50000
lb_2 | maxconn 4096
lb_1 | listen stats
lb_2 | default_backend default_service
lb_1 | bind :1936
lb_2 | backend default_service
lb_1 | mode http
lb_1 | stats enable
lb_2 | server roundcube_web_2 roundcube_web_2:80 check inter 2000 rise 2 fall 3
lb_1 | timeout connect 10s
lb_2 | INFO:haproxy:Launching HAProxy
lb_1 | timeout client 1m
lb_2 | INFO:haproxy:HAProxy has been launched(PID: 11)
lb_1 | timeout server 1m
lb_2 | INFO:haproxy:===========END===========
lb_1 | stats hide-version
lb_2 | DEBUG:haproxy:{u'status': u'create', u'timeNano': 1464317550768874233, u'from': u'docker-hub.service.int.internal:5000/docker-centos-roundcube:0.1.8', u'Actor': {u'Attributes': {u'license': u'GPLv2', u'com.docker.compose.container-number': u'4', u'com.docker.compose.service': u'web', u'com.docker.compose.config-hash': u'0b9abc99db053b7cf8e7809e942245d53a5d607fcd3d5a9a72c8c241da07d250', u'com.docker.compose.project': u'roundcube', u'com.docker.compose.version': u'1.7.1', u'image': u'docker-hub.service.int.internal:5000/docker-centos-roundcube:0.1.8', u'com.docker.swarm.id': u'e55012cccac7121826a9304d1f89e3284bd9aff26e4b07aa515d1cce3cc1ddd4', u'com.docker.compose.oneoff': u'False', u'vendor': u'CentOS', u'build-date': u'2016-03-04', u'name': u'roundcube_web_4'}, u'ID': u'58c9bded4865715f9dfb042c2664f10f9b55e95088250d7b45c5087808525558'}, u'time': 1464317550, u'Action': u'create', u'Type': u'container', u'id': u'58c9bded4865715f9dfb042c2664f10f9b55e95088250d7b45c5087808525558'}
lb_2 | DEBUG:haproxy:{u'Action': u'disconnect', u'timeNano': 1464317551044491374, u'Type': u'network', u'Actor': {u'Attributes': {u'type': u'overlay', u'container': u'58c9bded4865715f9dfb042c2664f10f9b55e95088250d7b45c5087808525558', u'name': u'roundcube_front-tier'}, u'ID': u'e8e2befb4e95906309bf13691da18a3c58f4fbc7bde770d03e9dc2b02c7b456f'}, u'time': 1464317551}
lb_1 | stats realm Haproxy\ Statistics
lb_2 | DEBUG:haproxy:{u'Action': u'connect', u'timeNano': 1464317553094592337, u'Type': u'network', u'Actor': {u'Attributes': {u'type': u'overlay', u'container': u'58c9bded4865715f9dfb042c2664f10f9b55e95088250d7b45c5087808525558', u'name': u'roundcube_front-tier'}, u'ID': u'e8e2befb4e95906309bf13691da18a3c58f4fbc7bde770d03e9dc2b02c7b456f'}, u'time': 1464317553}
lb_1 | stats uri /
lb_2 | DEBUG:haproxy:{u'Action': u'connect', u'timeNano': 1464317553695226213, u'Type': u'network', u'Actor': {u'Attributes': {u'type': u'overlay', u'container': u'58c9bded4865715f9dfb042c2664f10f9b55e95088250d7b45c5087808525558', u'name': u'roundcube_back-tier'}, u'ID': u'ba500c1b50a432257b053940d7096ea0f97dc37b865a0f30fe736bb4f4c7bd7d'}, u'time': 1464317553}
lb_1 | stats auth auth:auth
lb_2 | DEBUG:haproxy:{u'Action': u'mount', u'timeNano': 1464317553748201389, u'Type': u'volume', u'Actor': {u'Attributes': {u'driver': u'local', u'read/write': u'true', u'destination': u'/etc/roundcubemail', u'container': u'58c9bded4865715f9dfb042c2664f10f9b55e95088250d7b45c5087808525558', u'propagation': u''}, u'ID': u'7c0eb54d73ff235b2857e7af232ea81172ae9e2b1ad710638d5bfd229e2e901c'}, u'time': 1464317553}
lb_1 | frontend default_port_80
lb_2 | DEBUG:haproxy:{u'Action': u'mount', u'timeNano': 1464317553748266401, u'Type': u'volume', u'Actor': {u'Attributes': {u'driver': u'local', u'read/write': u'true', u'destination': u'/usr/share/roundcubemail', u'container': u'58c9bded4865715f9dfb042c2664f10f9b55e95088250d7b45c5087808525558', u'propagation': u''}, u'ID': u'42e2672d0d398c602b39274a4ac7c3591903c7b5cd6aae5244ac97c50ebbc255'}, u'time': 1464317553}
lb_2 | DEBUG:haproxy:{u'Action': u'mount', u'timeNano': 1464317553748362029, u'Type': u'volume', u'Actor': {u'Attributes': {u'driver': u'local', u'read/write': u'true', u'destination': u'/var/log/roundcubemail', u'container': u'58c9bded4865715f9dfb042c2664f10f9b55e95088250d7b45c5087808525558', u'propagation': u''}, u'ID': u'639f60041cff73414e8d2ceae793170b28ad262c94bf0b357a6883cc8f46bf04'}, u'time': 1464317553}
lb_1 | bind :80
lb_2 | DEBUG:haproxy:{u'status': u'start', u'timeNano': 1464317554106094442, u'from': u'docker-hub.service.int.internal:5000/docker-centos-roundcube:0.1.8', u'Actor': {u'Attributes': {u'license': u'GPLv2', u'com.docker.compose.container-number': u'4', u'com.docker.compose.service': u'web', u'com.docker.compose.config-hash': u'0b9abc99db053b7cf8e7809e942245d53a5d607fcd3d5a9a72c8c241da07d250', u'com.docker.compose.project': u'roundcube', u'com.docker.compose.version': u'1.7.1', u'image': u'docker-hub.service.int.internal:5000/docker-centos-roundcube:0.1.8', u'com.docker.swarm.id': u'e55012cccac7121826a9304d1f89e3284bd9aff26e4b07aa515d1cce3cc1ddd4', u'com.docker.compose.oneoff': u'False', u'vendor': u'CentOS', u'build-date': u'2016-03-04', u'name': u'roundcube_web_4'}, u'ID': u'58c9bded4865715f9dfb042c2664f10f9b55e95088250d7b45c5087808525558'}, u'time': 1464317554, u'Action': u'start', u'Type': u'container', u'id': u'58c9bded4865715f9dfb042c2664f10f9b55e95088250d7b45c5087808525558'}
lb_1 | reqadd X-Forwarded-Proto:\ http
lb_2 | DEBUG:haproxy:{u'status': u'exec_create: /bin/sh ', u'timeNano': 1464317591990218609, u'from': u'dockercloud/haproxy', u'Actor': {u'Attributes': {u'com.docker.compose.service': u'lb', u'com.docker.compose.config-hash': u'4d1d5bc31bb84fd15f09d1edf9af960d045b2df5fc860961b86821e1b1d481a5', u'com.docker.compose.project': u'roundcube', u'com.docker.compose.version': u'1.7.1', u'image': u'dockercloud/haproxy', u'com.docker.swarm.id': u'88b2b5be23e9435dc9d9b002d3a0cf1c62ed853a08abbf168efeca3e242fbb3d', u'com.docker.compose.oneoff': u'False', u'com.docker.compose.container-number': u'2', u'name': u'roundcube_lb_2'}, u'ID': u'b4c779e65a736a1ac06d5d9ed191667aa2b426d435cc05054af332d65c10300e'}, u'time': 1464317591, u'Action': u'exec_create: /bin/sh ', u'Type': u'container', u'id': u'b4c779e65a736a1ac06d5d9ed191667aa2b426d435cc05054af332d65c10300e'}
lb_1 | maxconn 4096
lb_1 | default_backend default_service
lb_1 | backend default_service
lb_2 | DEBUG:haproxy:{u'status': u'exec_start: /bin/sh ', u'timeNano': 1464317591996679677, u'from': u'dockercloud/haproxy', u'Actor': {u'Attributes': {u'com.docker.compose.service': u'lb', u'com.docker.compose.config-hash': u'4d1d5bc31bb84fd15f09d1edf9af960d045b2df5fc860961b86821e1b1d481a5', u'com.docker.compose.project': u'roundcube', u'com.docker.compose.version': u'1.7.1', u'image': u'dockercloud/haproxy', u'com.docker.swarm.id': u'88b2b5be23e9435dc9d9b002d3a0cf1c62ed853a08abbf168efeca3e242fbb3d', u'com.docker.compose.oneoff': u'False', u'com.docker.compose.container-number': u'2', u'name': u'roundcube_lb_2'}, u'ID': u'b4c779e65a736a1ac06d5d9ed191667aa2b426d435cc05054af332d65c10300e'}, u'time': 1464317591, u'Action': u'exec_start: /bin/sh ', u'Type': u'container', u'id': u'b4c779e65a736a1ac06d5d9ed191667aa2b426d435cc05054af332d65c10300e'}
lb_1 | server roundcube_web_1 roundcube_web_1:80 check inter 2000 rise 2 fall 3
lb_1 | INFO:haproxy:Launching HAProxy
lb_1 | INFO:haproxy:HAProxy has been launched(PID: 12)
lb_1 | INFO:haproxy:===========END===========
lb_1 | DEBUG:haproxy:{u'status': u'create', u'timeNano': 1464317551647435672, u'from': u'docker-hub.service.int.internal:5000/docker-centos-roundcube:0.1.8', u'Actor': {u'Attributes': {u'license': u'GPLv2', u'com.docker.compose.container-number': u'5', u'com.docker.compose.service': u'web', u'com.docker.compose.config-hash': u'0b9abc99db053b7cf8e7809e942245d53a5d607fcd3d5a9a72c8c241da07d250', u'com.docker.compose.project': u'roundcube', u'com.docker.compose.version': u'1.7.1', u'image': u'docker-hub.service.int.internal:5000/docker-centos-roundcube:0.1.8', u'com.docker.swarm.id': u'51ed371128332266c752cc02914e0f737de31419d436b2772c4fe4fa26923a07', u'com.docker.compose.oneoff': u'False', u'vendor': u'CentOS', u'build-date': u'2016-03-04', u'name': u'roundcube_web_5'}, u'ID': u'0e1b68aaffc5e53eacbf354357bcf36325796ef77a0c4f4740cffd3e1893034f'}, u'time': 1464317551, u'Action': u'create', u'Type': u'container', u'id': u'0e1b68aaffc5e53eacbf354357bcf36325796ef77a0c4f4740cffd3e1893034f'}
lb_1 | DEBUG:haproxy:{u'status': u'create', u'timeNano': 1464317552044441349, u'from': u'docker-hub.service.int.internal:5000/docker-centos-roundcube:0.1.8', u'Actor': {u'Attributes': {u'license': u'GPLv2', u'com.docker.compose.container-number': u'3', u'com.docker.compose.service': u'web', u'com.docker.compose.config-hash': u'0b9abc99db053b7cf8e7809e942245d53a5d607fcd3d5a9a72c8c241da07d250', u'com.docker.compose.project': u'roundcube', u'com.docker.compose.version': u'1.7.1', u'image': u'docker-hub.service.int.internal:5000/docker-centos-roundcube:0.1.8', u'com.docker.swarm.id': u'e862a129512ddf230bc589c5bc5883cb674c2ddaaac93cfbbbde2baf5c706947', u'com.docker.compose.oneoff': u'False', u'vendor': u'CentOS', u'build-date': u'2016-03-04', u'name': u'roundcube_web_3'}, u'ID': u'28ca4da6d9cbfc4db5953f5cd4fd946433efdb0b7eab7a105104a24b11480b70'}, u'time': 1464317552, u'Action': u'create', u'Type': u'container', u'id': u'28ca4da6d9cbfc4db5953f5cd4fd946433efdb0b7eab7a105104a24b11480b70'}
lb_1 | DEBUG:haproxy:{u'Action': u'disconnect', u'timeNano': 1464317553335488963, u'Type': u'network', u'Actor': {u'Attributes': {u'type': u'overlay', u'container': u'0e1b68aaffc5e53eacbf354357bcf36325796ef77a0c4f4740cffd3e1893034f', u'name': u'roundcube_front-tier'}, u'ID': u'e8e2befb4e95906309bf13691da18a3c58f4fbc7bde770d03e9dc2b02c7b456f'}, u'time': 1464317553}
lb_1 | DEBUG:haproxy:{u'Action': u'disconnect', u'timeNano': 1464317553400702650, u'Type': u'network', u'Actor': {u'Attributes': {u'type': u'overlay', u'container': u'28ca4da6d9cbfc4db5953f5cd4fd946433efdb0b7eab7a105104a24b11480b70', u'name': u'roundcube_front-tier'}, u'ID': u'e8e2befb4e95906309bf13691da18a3c58f4fbc7bde770d03e9dc2b02c7b456f'}, u'time': 1464317553}
lb_1 | DEBUG:haproxy:{u'Action': u'connect', u'timeNano': 1464317559645640476, u'Type': u'network', u'Actor': {u'Attributes': {u'type': u'overlay', u'container': u'28ca4da6d9cbfc4db5953f5cd4fd946433efdb0b7eab7a105104a24b11480b70', u'name': u'roundcube_front-tier'}, u'ID': u'e8e2befb4e95906309bf13691da18a3c58f4fbc7bde770d03e9dc2b02c7b456f'}, u'time': 1464317559}
lb_1 | DEBUG:haproxy:{u'Action': u'connect', u'timeNano': 1464317560413167704, u'Type': u'network', u'Actor': {u'Attributes': {u'type': u'overlay', u'container': u'28ca4da6d9cbfc4db5953f5cd4fd946433efdb0b7eab7a105104a24b11480b70', u'name': u'roundcube_back-tier'}, u'ID': u'ba500c1b50a432257b053940d7096ea0f97dc37b865a0f30fe736bb4f4c7bd7d'}, u'time': 1464317560}
lb_1 | DEBUG:haproxy:{u'Action': u'mount', u'timeNano': 1464317560441674201, u'Type': u'volume', u'Actor': {u'Attributes': {u'driver': u'local', u'read/write': u'true', u'destination': u'/usr/share/roundcubemail', u'container': u'28ca4da6d9cbfc4db5953f5cd4fd946433efdb0b7eab7a105104a24b11480b70', u'propagation': u''}, u'ID': u'36cd71c9b08bd36ead987bd7fabee063d9558ad751162c09cdb1f548c2a16b76'}, u'time': 1464317560}
lb_1 | DEBUG:haproxy:{u'Action': u'mount', u'timeNano': 1464317560441801059, u'Type': u'volume', u'Actor': {u'Attributes': {u'driver': u'local', u'read/write': u'true', u'destination': u'/var/log/roundcubemail', u'container': u'28ca4da6d9cbfc4db5953f5cd4fd946433efdb0b7eab7a105104a24b11480b70', u'propagation': u''}, u'ID': u'fa560d3ea24ed91ff695aa531cc3423aa75540b23c89eb0cd41696b98e430049'}, u'time': 1464317560}
lb_1 | DEBUG:haproxy:{u'Action': u'mount', u'timeNano': 1464317560441992639, u'Type': u'volume', u'Actor': {u'Attributes': {u'driver': u'local', u'read/write': u'true', u'destination': u'/etc/roundcubemail', u'container': u'28ca4da6d9cbfc4db5953f5cd4fd946433efdb0b7eab7a105104a24b11480b70', u'propagation': u''}, u'ID': u'3fe6afe189f31177787d57a4d5d76122410c5aa02e26f17aae75eb8fcffbc073'}, u'time': 1464317560}
lb_1 | DEBUG:haproxy:{u'status': u'start', u'timeNano': 1464317560821696520, u'from': u'docker-hub.service.int.internal:5000/docker-centos-roundcube:0.1.8', u'Actor': {u'Attributes': {u'license': u'GPLv2', u'com.docker.compose.container-number': u'3', u'com.docker.compose.service': u'web', u'com.docker.compose.config-hash': u'0b9abc99db053b7cf8e7809e942245d53a5d607fcd3d5a9a72c8c241da07d250', u'com.docker.compose.project': u'roundcube', u'com.docker.compose.version': u'1.7.1', u'image': u'docker-hub.service.int.internal:5000/docker-centos-roundcube:0.1.8', u'com.docker.swarm.id': u'e862a129512ddf230bc589c5bc5883cb674c2ddaaac93cfbbbde2baf5c706947', u'com.docker.compose.oneoff': u'False', u'vendor': u'CentOS', u'build-date': u'2016-03-04', u'name': u'roundcube_web_3'}, u'ID': u'28ca4da6d9cbfc4db5953f5cd4fd946433efdb0b7eab7a105104a24b11480b70'}, u'time': 1464317560, u'Action': u'start', u'Type': u'container', u'id': u'28ca4da6d9cbfc4db5953f5cd4fd946433efdb0b7eab7a105104a24b11480b70'}
lb_1 | DEBUG:haproxy:{u'Action': u'connect', u'timeNano': 1464317561662528819, u'Type': u'network', u'Actor': {u'Attributes': {u'type': u'overlay', u'container': u'0e1b68aaffc5e53eacbf354357bcf36325796ef77a0c4f4740cffd3e1893034f', u'name': u'roundcube_front-tier'}, u'ID': u'e8e2befb4e95906309bf13691da18a3c58f4fbc7bde770d03e9dc2b02c7b456f'}, u'time': 1464317561}
lb_1 | DEBUG:haproxy:{u'Action': u'connect', u'timeNano': 1464317561877790723, u'Type': u'network', u'Actor': {u'Attributes': {u'type': u'overlay', u'container': u'0e1b68aaffc5e53eacbf354357bcf36325796ef77a0c4f4740cffd3e1893034f', u'name': u'roundcube_back-tier'}, u'ID': u'ba500c1b50a432257b053940d7096ea0f97dc37b865a0f30fe736bb4f4c7bd7d'}, u'time': 1464317561}
lb_1 | DEBUG:haproxy:{u'Action': u'mount', u'timeNano': 1464317561923164368, u'Type': u'volume', u'Actor': {u'Attributes': {u'driver': u'local', u'read/write': u'true', u'destination': u'/etc/roundcubemail', u'container': u'0e1b68aaffc5e53eacbf354357bcf36325796ef77a0c4f4740cffd3e1893034f', u'propagation': u''}, u'ID': u'a55e7b9fda84b87e322e0fdc163cee0aa9321c9b3f4dc662350385ce3bde9b41'}, u'time': 1464317561}
lb_1 | DEBUG:haproxy:{u'Action': u'mount', u'timeNano': 1464317561923376956, u'Type': u'volume', u'Actor': {u'Attributes': {u'driver': u'local', u'read/write': u'true', u'destination': u'/usr/share/roundcubemail', u'container': u'0e1b68aaffc5e53eacbf354357bcf36325796ef77a0c4f4740cffd3e1893034f', u'propagation': u''}, u'ID': u'5f46209a6722ae70743dea160e0ff2037a77260623937a37317e802074a0337c'}, u'time': 1464317561}
lb_1 | DEBUG:haproxy:{u'Action': u'mount', u'timeNano': 1464317561923521783, u'Type': u'volume', u'Actor': {u'Attributes': {u'driver': u'local', u'read/write': u'true', u'destination': u'/var/log/roundcubemail', u'container': u'0e1b68aaffc5e53eacbf354357bcf36325796ef77a0c4f4740cffd3e1893034f', u'propagation': u''}, u'ID': u'71c0e760aff41d3a15acd11d0b83a83b380a133362a51d216e17c306c3ab1a3a'}, u'time': 1464317561}
lb_1 | DEBUG:haproxy:{u'status': u'start', u'timeNano': 1464317562426030674, u'from': u'docker-hub.service.int.internal:5000/docker-centos-roundcube:0.1.8', u'Actor': {u'Attributes': {u'license': u'GPLv2', u'com.docker.compose.container-number': u'5', u'com.docker.compose.service': u'web', u'com.docker.compose.config-hash': u'0b9abc99db053b7cf8e7809e942245d53a5d607fcd3d5a9a72c8c241da07d250', u'com.docker.compose.project': u'roundcube', u'com.docker.compose.version': u'1.7.1', u'image': u'docker-hub.service.int.internal:5000/docker-centos-roundcube:0.1.8', u'com.docker.swarm.id': u'51ed371128332266c752cc02914e0f737de31419d436b2772c4fe4fa26923a07', u'com.docker.compose.oneoff': u'False', u'vendor': u'CentOS', u'build-date': u'2016-03-04', u'name': u'roundcube_web_5'}, u'ID': u'0e1b68aaffc5e53eacbf354357bcf36325796ef77a0c4f4740cffd3e1893034f'}, u'time': 1464317562, u'Action': u'start', u'Type': u'container', u'id': u'0e1b68aaffc5e53eacbf354357bcf36325796ef77a0c4f4740cffd3e1893034f'}
[root@S623 roundcube]# docker exec -it roundcube_lb_2 cat haproxy.cfg
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 ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:AES128-GCM-SHA256:AES128-SHA256:AES128-SHA:AES256-GCM-SHA384:AES256-SHA256:AES256-SHA:DHE-DSS-AES128-SHA:DES-CBC3-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 auth:auth
frontend default_port_80
bind :80
reqadd X-Forwarded-Proto:\ http
maxconn 4096
default_backend default_service
backend default_service
server roundcube_web_2 roundcube_web_2:80 check inter 2000 rise 2 fall 3
root@S623 roundcube]# docker exec -it roundcube_lb_1 cat haproxy.cfg
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 ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:AES128-GCM-SHA256:AES128-SHA256:AES128-SHA:AES256-GCM-SHA384:AES256-SHA256:AES256-SHA:DHE-DSS-AES128-SHA:DES-CBC3-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 auth:auth
frontend default_port_80
bind :80
reqadd X-Forwarded-Proto:\ http
maxconn 4096
default_backend default_service
backend default_service
server roundcube_web_1 roundcube_web_1:80 check inter 2000 rise 2 fall 3
from dockercloud-haproxy.
Config doesn't reload when scaling on Docker Cloud for me too.
from dockercloud-haproxy.
dockercloud/haproxy:1.5
can auto reload when the ADDITIONAL_SERVICES
scales
from dockercloud-haproxy.
@OlivierCuyp Did you set the role to global when using dockercloud?
from dockercloud-haproxy.
@tifayuki Yes I did set the role to full access
(== global
).
And I just linked the services, I didn't used the ADDITIONAL_SERVICES
env var...
But I don't think DockerCloud is running on Swarm or am I wrong ?
from dockercloud-haproxy.
Running Swarm on Azure Container Services and dockercloud/haproxy:1.5
and latest
both fail to load all the services listed in ADDITIONAL_SERVICES
. Using it with docker-compose up causes it to half-initialize and never completely find all the services.
Random (~4 of 6) services fail to be found with: Cannot find the additional service...
despite using depends_on and ADDITIONAL_SERVICES
from dockercloud-haproxy.
I'm seeing a similar issue. Not sure if it is the same thing. We have our own haproxy image based on dockercloud-haproxy which brings in volumes_from: letsencrypt
and uses inotify-tools
to watch the live certificates folder. When changes are detected, it installs combined certificates into /certs
and calls /reload.sh
. When that happens, I get this error in the log:
2016-07-18T07:57:02.222050898Z INFO:haproxy:==========BEGIN==========
2016-07-18T07:57:02.222083054Z INFO:haproxy:User reload
2016-07-18T07:57:02.225242704Z INFO:haproxy:Impossible to call blocking function in the event loop callback
2016-07-18T07:57:02.225267412Z Traceback (most recent call last):
2016-07-18T07:57:02.225274151Z File "/usr/lib/python2.7/site-packages/haproxy/eventhandler.py", line 54, in on_user_reload
2016-07-18T07:57:02.225279128Z run_haproxy("User reload")
2016-07-18T07:57:02.225283830Z File "/usr/lib/python2.7/site-packages/haproxy/haproxycfg.py", line 24, in run_haproxy
2016-07-18T07:57:02.225288531Z haproxy = Haproxy(config.LINK_MODE, msg)
2016-07-18T07:57:02.225296093Z File "/usr/lib/python2.7/site-packages/haproxy/haproxycfg.py", line 48, in __init__
2016-07-18T07:57:02.225301166Z self.specs = self._initialize(self.link_mode)
2016-07-18T07:57:02.225305502Z File "/usr/lib/python2.7/site-packages/haproxy/haproxycfg.py", line 53, in _initialize
2016-07-18T07:57:02.225313119Z links = Haproxy._init_cloud_links()
2016-07-18T07:57:02.225317604Z File "/usr/lib/python2.7/site-packages/haproxy/haproxycfg.py", line 67, in _init_cloud_links
2016-07-18T07:57:02.225322422Z haproxy_container = fetch_remote_obj(HAPROXY_CONTAINER_URI)
2016-07-18T07:57:02.225326919Z File "/usr/lib/python2.7/site-packages/haproxy/utils.py", line 31, in fetch_remote_obj
2016-07-18T07:57:02.225331784Z time.sleep(config.API_RETRY)
2016-07-18T07:57:02.225336219Z File "/usr/lib/python2.7/site-packages/gevent/hub.py", line 194, in sleep
2016-07-18T07:57:02.225340571Z hub.wait(loop.timer(seconds, ref=ref))
2016-07-18T07:57:02.225344627Z File "/usr/lib/python2.7/site-packages/gevent/hub.py", line 627, in wait
2016-07-18T07:57:02.225348978Z result = waiter.get()
2016-07-18T07:57:02.225354095Z File "/usr/lib/python2.7/site-packages/gevent/hub.py", line 875, in get
2016-07-18T07:57:02.225618807Z return self.hub.switch()
2016-07-18T07:57:02.225646580Z File "/usr/lib/python2.7/site-packages/gevent/hub.py", line 605, in switch
2016-07-18T07:57:02.225653776Z switch_out()
2016-07-18T07:57:02.225658658Z File "/usr/lib/python2.7/site-packages/gevent/hub.py", line 609, in switch_out
2016-07-18T07:57:02.225663977Z raise BlockingSwitchOutError('Impossible to call blocking function in the event loop callback')
2016-07-18T07:57:02.225668362Z BlockingSwitchOutError: Impossible to call blocking function in the event loop callback
2016-07-18T07:57:02.454551429Z INFO:haproxy:Websocket close
2016-07-18T07:57:03.526579595Z INFO:haproxy:==========BEGIN==========
from dockercloud-haproxy.
Related Issues (20)
- Unnecessary redirect from https to https scheme in SSL termination mode HOT 2
- TCP load balancing doesn't work in Docker Swarm Mode
- Basic auth on a single service? HOT 2
- DNS resolution of loggers at startup
- Still experimental in Swarm Mode? HOT 8
- You should be able to indicate explicit Service/Port combos.
- Source balancing does not work on Docker for Mac
- Some question about multi-ports balance and ADDITIONAL_SERVICES
- Is this project dead? HOT 16
- How can i achieve the desired result with NGINX? Anybody else knows?
- Not working properly when using compose mode + service with fixed container names HOT 1
- Swarm service deploy mode = global is not supported
- Put stats on Virtual Host on a port 80 / 443
- Service Unavailable (503) Custom HTML
- Support option for this application
- We have a requirment of altering url for backend service at haproxy, how can we achieve
- tcp的1m超时怎么解决
- Questions about the mysterious project deprecation HOT 1
- imcompatible with docker compose 1.23 HOT 5
- Can not link service or container in compose mode HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dockercloud-haproxy.