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