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