Estaba revisando las imágenes de Docker disponibles para Discourse hoy y tengo un par de preguntas:
- En ambas imágenes, veo que se menciona la instalación de Discourse (obviamente). Luego, hay una lista de pasos para poner todo en funcionamiento, principalmente la configuración del nombre de dominio y del correo electrónico.
Estoy confundido respecto a la base de datos. No hay ningún paso para configurarla. ¿Está la base de datos Postgres (u otra) incluida en la misma imagen? ¿Y Redis? ¿O eso es completamente opcional?
En la lista de componentes que incluye la imagen de Docker no aparece la base de datos.
En mi trabajo utilizo Docker para desarrollo, staging y producción. Nuestros contenedores son inmutables. Cuando necesitamos actualizar y desplegar una nueva imagen, tomamos el código más reciente de Git y listo.
Nunca realizamos cambios dentro del contenedor, o al menos ninguno que se espere que persista más allá del siguiente despliegue.
Cuando queremos actualizar a una versión más reciente de .NET, por ejemplo, simplemente modificamos la imagen base y la desplegamos.
Al leer sobre la imagen de Docker para Discourse, pareció que se realizaban cambios en el contenido de la imagen como si fuera una instalación normal. ¿Es cierto que los cambios realizados en la imagen están destinados a persistir?
Cuando lo leí por primera vez, pensé que significaba que todo se almacena en la base de datos. Pero entonces, ¿la base de datos está dentro del contenedor? ¿Significa eso que los cambios en la base de datos también se persisten?
Si es así, ¿cómo puedo asegurarme de que todos los cambios se guarden si detengo el contenedor y luego lo vuelvo a iniciar?
Y lo más importante: ¿cómo afecta esto a la actualización a una nueva versión del software del foro?
Parecía, por lo que leí, que se utilizan las instancias dentro del contenedor para actualizarse a sí mismas. Yo esperaba que se desplegara una nueva imagen con las actualizaciones y que todo funcionara correctamente.
Creo que, en esencia, estoy acostumbrado a tratar las imágenes de Docker como ganado: mueren, se vuelven a desplegar y nunca se persisten cambios en la imagen.
No sabía que existían imágenes de Docker que permiten persistir cambios que duran más que su próximo reinicio.