Estoy usando el repositorio discourse_docker con el script launcher para ejecutar una instancia interna de Discourse. Me gustaría cambiar de forma persistente la política de reinicio de always a unless-stopped para poder mantener los contenedores de Docker detenidos al realizar actualizaciones/reinicio del sistema operativo.
Puedo ver que la política de reinicio es una variable en el script launcher, pero ¿cuál es la mejor manera de mantener esta configuración cuando se crea un nuevo contenedor? Debería funcionar tanto a través de “launcher rebuild” como utilizando docker_manager a través de /admin/upgrade.
Sí, lo sé La actualización de Docker es lo que estoy haciendo actualmente. Pero me temo que lo olvidaré en algunas de las próximas reconstrucciones. De ahí la pregunta de cómo hacerlo persistente.
Otra opción sería simplemente editar el script del lanzador y esperar no tener demasiados conflictos de rebase al hacer pull
La única vez que he tenido problemas con reinicios después de un arranque es si cambié de app.yml a web_only.yml y olvidé destruir el contenedor app. Realizo actualizaciones y reinicios de Docker regularmente sin ningún problema con los arranques automáticos. Para tu información, no he visto a nadie más preocupado por esto en los últimos 5 años. A menos que tengas algo en juego que no sepa, ¿quizás simplemente no te preocupes por ello?
Bueno, hoy el problema fue que quería hacer una instalación limpia ya que tenía una extraña versión 2.4.0-betaXYZ que no se actualizaba sola. Hice una prueba en otra máquina virtual con una instalación limpia y restaurando la copia de seguridad a la versión 2.7.12, lo cual funcionó perfectamente (también dividí el contenedor de datos en redis y postgres).
Ahora el servidor principal todavía ejecutaba una versión antigua de Ubuntu y Docker, así que quería:
hacer una copia de seguridad
apagar Discourse
hacer trucos de actualización del sistema operativo sin preocuparme por Discourse, incluyendo varios reinicios
hacer una instalación limpia
restaurar la copia de seguridad
Solo quería mantener los contenedores apagados y no eliminarlos de inmediato, ya que ya no estaba seguro si necesitaba algo de ellos que podría haber olvidado durante mi prueba. Y pensé, oye, “unless-stopped” es la política de reinicio perfecta para mí, ya que asegura que los contenedores se inicien automáticamente después de un reinicio, a menos que los detenga manualmente. Usualmente es exactamente lo que quiero, así que pensé, ¿por qué no intentar hacerlo permanente?
No es gran cosa si no es posible. Simplemente haré la actualización de Docker (o si la olvido con demasiada frecuencia, haré la actualización de Docker a través de cron cada 5 minutos )