ignaciolp-logo

Ignacio LP.



Mongodump, Mongorestore con docker.



Que es mongodb

Mongodb es una base de datos no relacional que hace unos años atras se hizo muy popular, es una base de datos muy rápido y liviana, ideal para proyectos de monitoreo u juegos, y no recomendada por mi para proyectos con lógica de negocio fuerte ya que en esos casos es mejor irse por lo tradicional y sólido.




Mi problemática

Yo suelo usar mongodb para un microservicio de datos esporádicos, y necesito 1 ves por mes ver los datos u reemplazar los datos, es por esto que siempre tengo que usar de los siguientes métodos que debo de buscar en internet siempre.



Haciendo un backup de la db

                
# crea la carpeta de backup en el container
docker exec -it <container-name> mkdir /backup
# backup db
docker exec -it <container-name> mongodump --db <db-name> --out /backup

# copia el backup a tu pc
docker cp <container-name>:/backup <path-to-backup>

# luego copias el directorio a tu servidor con sftp o manual, 
# y entonces en el servidor ejecutas lo siguiente.

# copiar el backup al docker container
docker cp <path-backup> <container-name>:/backup-dir

# restaurar la base de datos
docker exec -it <container-name> mongorestore /backup-dir/backup