Entiendo que cuando se hace por primera vez — bueno, seamos honestos: no entiendo las diferencias entre bootstrap y rebuild en absoluto, pero la IA todopoderosa me dijo que debería hacer bootstrapping la primera vez, porque es algo raro de desarrollo, y después de eso, cada vez, rebuild está bien.
Entonces… ¿por qué no ./launcher rebuild web_only y ya está? Porque si primero destruyo, no tengo nada que reiniciar si el rebuild falla, ¿verdad?
Entiendo que si actualizo todo, tengo que detener web_only primero, luego hacer data y lo último es web_only.
Si haces una reconstrucción, se apaga el contenedor, luego se ejecuta el bootstrap, luego se destruye el contenedor antiguo y finalmente se inicia el nuevo.
La reconstrucción no destruye el contenedor existente (hasta que tenga uno nuevo para iniciar en su lugar).
Si el bootstrap falla, puedes reiniciar el contenedor antiguo tú mismo.
La primera vez, no hay razón para no hacer una reconstrucción.
Para reconstrucciones posteriores, querrás hacer el bootstrap para que el contenedor existente pueda continuar atendiendo solicitudes mientras se construye el nuevo contenedor.
Para el contenedor de datos, siempre querrás reconstruir porque no querrás que dos instancias de base de datos modifiquen los mismos archivos.
Para la actualización de PG, querrás detener todo (la web no puede funcionar sin la base de datos de todos modos) antes de reconstruir el contenedor de datos.
La reconstrucción también hace un “git pull”, por lo que puedes usar el bootstrap en su lugar para tener control sobre eso.
Es como el disco duro de una computadora completa. Un contenedor es simplemente una computadora completa que tiene formas limitadas de conectarse a ella (a través de puertos o por los archivos que actualizan y que son accesibles para el sistema operativo).