Instalar Mongodb con Docker
Docker
Instalar Docker
Fuente:
Pasos
sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
sudo apt update
apt-cache policy docker-ce
sudo apt install docker-ce
sudo systemctl status docker
sudo usermod -aG docker ${USER}
su - ${USER}
id -nG
Ejecute docker
docker
Instalar una imagen de mongodb
docker pull mongo
o de una versiĂłn especifica
docker pull mongo:3.6.4
para la versiĂłn 4.0.4
docker pull mongo:4.0.4
Guardar data permanente en el disco fuera del contenedor
docker volume create mongodbdata
Abrimos el terminal y Creamos el directorio data en nuestro Ubuntu
sudo mkdir -p /data/db
Darle permisos de escritura a la carpeta
sudo chmod 777 /data/db
Ejecutarlo
docker run --name mongodb -p 27017:27017 -v mongodbdata:/data/db mongo

Al ejecutarlo

si se ha ejecutado varias veces puede que genere un conflicto hay que eliminarlo

Eliminarlo
docker rm mongodb
Abrimos otra consola y nos conectamos al shell
Primero observamos las imágenes
docker ps

Conectarse al shell
docker exec -it mongodb bash

Ahora ejecutar mongo
mongo

Estaremos corriendo mongodb en docker pero guardando en /data/db

RESTAURAR UNA BASE DE DATOS MONGODB
Copiar el archivo al directorio tmp
cp store2019_04_17_22_02.zip /tmp
descomprimirlo
cd /tmp
unzip store2019_04_17_22_02.zip
Ejecutar el mongorestore
docker run -it --rm --link mongodb:mongo -v /tmp/store2019_04_17_22_02:/tmp mongo bash -c 'mongorestore -v --host $MONGO_PORT_27017_TCP_ADDR:$MONGO_PORT_27017_TCP_PORT /tmp'
CREAR BACKUP
Crearemos un backup de la base de datos store en el directorio /tmp
docker run -it --rm --link mongodb:mongo -v /tmp/store:/tmp mongo bash -c 'mongodump -d store -v --host $MONGO_PORT_27017_TCP_ADDR:$MONGO_PORT_27017_TCP_PORT --out=/tmp'
Crea la carpeta llamada store con el backup de la base de datos
y dentro del el todas las bases de datos respaldadas.
cd /tmp
ls

Comprimimos el directorio
tar -cvzf store.tar.gz store
lo podemos mover a cualquier directorio
Referencias:
Backup restore
http://exabig.com/blog/2017/05/23/mongodb-backup-restore-docker-container/
Last updated
Was this helpful?