Después de leer los documentos, me encontré algo confundido sobre la mejor manera de administrar datos productivos de aplicaciones / servicios.
Parece que hay 3 opciones:
- Simplemente asigne el volumen al directorio del host (es decir,
-v
argumento paradocker run
) - Crear una imagen de contenedor de docker para datos (es decir, contenedor separado y
--volumes-from
) - Crear un volumen acoplable (es decir
docker volume create
)
Ahora, parece que la práctica aceptada es la opción # 2, pero luego me pregunto cuál es el propósito de # 3.
Especialmente, ¿cómo maneja correctamente estos escenarios docker volume
y es mejor usar un contenedor de volumen de datos o esto para cada situación?
- Necesita datos de la aplicación en un volumen separado y / o nivel de almacenamiento en su servidor
- Copia de seguridad
- Restaurando datos
btrfs scrub
para encontrar y corregir archivos dañados. No estoy seguro de cómo funciona el material dockerizado, pero supongo que no protege contra la descomposición de datos, por lo que siempre necesito una restauración completa si ocurre algo malo en lugar de simplemente restaurar archivos individuales. Otro pensó que agrega otra capa de abstracción, por lo que ralentiza aún más la lectura y escritura de archivos. De alguna manera no veo las ventajas de # 2 y # 3, pero no tengo experiencia con Docker, por lo que esto podría cambiar.