Ho trascorso gli ultimi giorni a lavorare sulla creazione di uno sciame docker su Digtital Ocean. Nota: non voglio usare -link
per comunicare con le altre app/contenitori perché sono tecnicamente considerate deprecate e non funzionano bene con docker swarm (cioè non posso aggiungere più istanze di app al servizio di bilanciamento del carico senza ricomporre l'intero sciame)Docker Swarm HAProxy non carica bilanciamento w/Overlay Networking
Sto utilizzando un server come un server kv-store che esegue la console in base a this guide. Perché sono su Digital Ocean, sto usando il networking privato su DO in modo che le macchine possano comunicare tra loro.
Quindi creo un master e uno slave dell'alveare e avvio la rete di sovrapposizione, che è in esecuzione su tutte le macchine. Ecco il mio docker-compose.yml
proxy:
image: tutum/haproxy
ports:
- "1936:1936"
- "80:80"
web:
image: tutum/hello-world
expose:
- "80"
Così quando faccio questo crea i 2 contenitori. HAProxy è in esecuzione perché posso accedere alle statistiche sulla porta 1936 allo http://<ip-address>:1936
, tuttavia, quando provo ad accedere al server web/bilanciamento del carico alla porta 80, la connessione viene rifiutata. Ho tutto sembra da collegare, però, quando corro docker-compose ps
:
Name Command State Ports
--------------------------------------------------------------------------------------------------------------------------------
splashcloud_proxy_1 python /haproxy/main.py Up 104.236.109.58:1936->1936/tcp, 443/tcp, 104.236.109.58:80->80/tcp
splashcloud_web_1 /bin/sh -c php-fpm -d vari ... Up 80/tcp
L'unica cosa che posso pensare è che non è il collegamento al contenitore web, ma non sono sicuro come risolvere questo.
Apprezzerei qualsiasi aiuto su questo.
Questo è solo un link ad un [discussione correlata per il dockerized nginx-reverseproxy] (https://github.com/jwilder/nginx-proxy/issues/304). Non ho creato una risposta, perché non si tratta di haproxy, ma potrebbe essere un'alternativa. – schmunk
Grazie a schmunk. Questo può essere utile. Non posso usare Nginx in questo caso perché ho bisogno delle funzionalità di accodamento di HAProxy - solo la versione a pagamento di Ngjnx supporta l'accodamento. –
Sto cercando di trovare nella documentazione della finestra mobile la dichiarazione che i collegamenti sono considerati deprecati, ma non riesco a trovare nulla, potresti per favore indicare dove l'hai letto? – saljuama