nejak se nemuzu vymotat ze zavislosti v docker swarm modu, modelovy priklad, fungujici v single docker-compose:
mam v docker-compose 3 sluzby, nginx http frontend a 2 php fcgi backendy. z hlediska komunikace jsou hostnamy jmena tech sluzeb, dejme tomu service-http, service1-php a service2-php, kvuli healtcheckum tech php-fpm sluzeb a taky kvuli tomu ze ty php-fpm mohou komunikovat uvnitr mezi sebou navzajem pres http, ma nginx frontend na sobe jeste network aliasy service1-http a service2-http.
na php-fpm sluzbach je healthcheck jako GET
http://service1-http/, tedy taze se sam sebe pres ten nginx fontend (ktery pro service1-http pouzije fcgi backend ten ktery se pta, tedy service1-php:9000). potud vse funguje v single docker-compose, ovsem ve swarm stack modu stejna kompozice nefunguje, protoze service1-php se do interniho dns dostane az v okamziku, kdy projde healthcheck, ktery samozrejme neprojde, protoze nginx na nej nevidi, dokud neni v dns.
neprisel jsem na to co s tim, snad nahradit ten healthcheck necim co pobezi v ramci localhostu pouze pres fastcgi, ale neni to uplne idealni. pouzit v ramdi definice network v docker-compose ip adresy natvrdo taky neni mozny, nginx si pri startu kontroluje vsechny upstream definice a kdyz nebezi, tak uz je neservicuje, proto se jako adresy upstream fastcgi pouziva hostname