Respaldar base de datos Mongo Atlas

Publicado

Tengo una base de datos de mongo ejecutándose en la nube de Mongo Atlas. Hasta el momento me ha salido gratis porque tiene poca lectura y escritura, pero recientemente tuve problemas para entrar a mi cuenta, por lo que me preocupé por mi información. Se me ocurrió hacer un respaldo pero no podía conectarme desde mi equipo ya que tengo que agregar mi ip para que se pueda conectar, y al no poder entrar a mi cuenta no podía hacer el cambio. Mi servidor seguía conectado a la DB así que hice el respaldo desde ahí.

Tengo Docker instalado, creé un contenedor de mongo temporal:

docker run --name mongo -d mongo

Entré a la terminal bash del contenedor y me situé en la carpeta home:

#[host]
docker exec -it mongo sh
#[contenedor]
cd /home

Ahí dentro pude ejecutar la utilería mongodump pero conectándome a la db remota de Atlas:

mongodump --uri="mongodb+srv://usuario@instanciamongo.mongodb.net/dbmongo"

Me generó una carpeta dump, salí del contenedor y en el host ejecuté un comando para copiar la carpeta dump del contenedor al host:

docker cp mongo:/home/dump ~/dump

Listo, ya tengo una copia de mi base de datos en mi servidor por si pierdo el acceso a la db Atlas. Solo resta detener y limpiar el contenedor temporal.

docker stop mongo
docker rm mongo