On Thu, Aug 20, 2015 at 7:39 PM <spin@hackerspace.pl> wrote:
On 2015-08-19 15:48, rysiek wrote:
> Elo,
>
> no więc mamy kilkadziesiąt różnych kontenerów z różnymi usługami,
> oddzielonymi
> i oddzielnie zarządzanymi -- a życie jest dobre.
>
> Na dole drzewka mieszkają sobie jakieś kontenery z mysql czy innym
> neo4j, nad
> nimi php-fpmy i django, wyżej jakiś nginx, a nad nginxem kontener co to
> musi
> mieć dostęp po www do jakiejś usługi na przykład. To wszystko rzecz
> jasna
> połączone, i zarządzane przez docker-compose.
>
> Zrestartowanie kontenera z mysql gdzieś na dole oznacza zerwanie linków
> i
> koniecznośc restartowania wszystkich kontenerów linkujących do niego,
> oraz
> linkujących do tychże kontnerów, i tak dalej -- czyli w najgorszym
> wypadku ~50
> kontenerów na trzech poziomach:
>
> mysql -> php-fpm/django -> nginx -> nad nginxem
>
> To zajmuje czas i oznacza downtime, le fu-.
>
>
> Oczywiście mogę sobie ręcznie przepiąć iptablesy i inne /etc/hostsy,
> ale to
> też le fu-.
>
> Więc pytanie do wymiataczy dockerowych, których mam nadzieję mamy na
> tej
> liście: jak żyć, panie premierze? W sensie, what is the best practice
> jeśli
> idzie o restartowanie linked containers? Bo na pewno się jakoś da.
> Tylko jak?


Czekaj, ale jaki jest problem? Że nie masz śledzenia zależności między kontenerami, czy że nie masz redundantnej / umiejącej retry infrastruktury? W sensie, czemu niby php-fpm ma się restartować jeśli restartujesz nginx? Przekręcisz nginx, socket padnie, otworzy się nowy, done. Przekręcisz mysql, socket padnie, otworzy się nowy, done. Pewnie chcesz gdzieś frontend przekierować podczas takich operacji i poblokować nowe połączenia, ale nie czuję czemu tutaj są jakieś zależności wymagające restartów.