Haciendo backups en volumen NFS
Cuando se esta en producción con la solución EEI quizás sea necesario hacer Backups de los volumenes de las imagenes para no perder nada.
Nota: este ejemplo es para el caso del contenedor
sudocu.yml
pero se puede hacer conusuarios.yml
ytraefik.yml
Requisitos previos
- Existe un server NFS en la infraestructura, si no es su caso le recomendamos seguir esta guía
- Tiene conocimiento de configuracion de volumenes NFS, en otro caso le recomendamos esta lectura previa.
Levantando el volumen para backup
Como se está en producción, se necesita PRIMERO levantar una segunda carpeta en el contenedor que esta corriendo (para copiar desde dentro del contenedor todos los archivos al servidor nfs).
Para hacer esto se procede de la siguiente forma:
- En
sudocu.yml
se agrega un volume adicional, vinculandolo a otra carpeta del contenedor:
volumes:
files:
sudocu_files:
driver: local
driver_opts:
type: nfs
o: nfsvers=4,addr=10.1.64.101,rw
device: ":/recursos_nfs/sudocu_storage"
(notese que el volume files
sigue sin configurarse, sino que se agrega otro volumen llamado sudocu_files
)
- Dentro del servicio
api-server
en la secciónvolumes
se agrega el segundo volumen recién creado:
volumes:
- files:/app/sudocu-files
- sudocu_files:/app/sudocu-files-bkp
- Luego de tener configurado así
sudocu.yml
, se hace un nuevo deploy del stack sudocu (solo actualización de containers
)
docker stack deploy --with-registry-auth --compose-file sudocu.yml sudocu
Esto hace que se levante el segundo "volume" vinculado al sevidor nfs, en la carpeta del contenedor /app/sudocu-files-bkp
Backupeando los archivos
- Luego de hacer esto, nos conectamos al bash del contenedor para correr el comando para copiar lo que hay en
/app/sudocu-files
a la carpeta/app/sudocu-files-bkp
docker exec -it sudocu_api-server.1.r5hqywh18tdf9owi7qn4fx78i /bin/bash