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?
Z serii nie wiem to się wypowiem, ale czy nie byłoby najlepiej zachować kontener istniejący, przelinkować wyższe gałęzie drzewa na nowy, zklonowany, a potem zrobić merge baz jeśli jest taka potrzeba?
Wtedy unikasz downtime, i jesteś pewien że wszystkie dane zostają zachowane, jeśli mysql w kontenerze jest update'owany przez procesy wyżej w drzewie.
Also, your docker, you have to show me it.