Desplegando MongoDB en un Docker Container en menos de 10 minutos
Ya he hablado anteriormente de que es Docker y sus bondades tanto para las empresas como para los desarrolladores. En esta ocasión quiero compartir este tutorial que nos permitirá desplegar MondoDB como un contenedor. Interectuaremos con la consola de Cliente específicamente.
MongoDB es una de las bases de datos NoSQL, orientada a documentos, más populares de hoy en día. MongoDB se caracteriza por ser OpenSource y por estar orientada a priorizar la alta disponibilidad y la alta consistencia del Teorema CAP.
Para el siguiente tutorial, asumo que Docker se encuentra instalado en el computador o servidor.
Descargando la Docker Image de MongoDB
Lo primero que tenemos que hacer es ejecutar lo siguiente:
docker pull mongo
Después que haya terminado, contaremos con la imnagen de la version de MongoDB.
Creando una Instancia de MongoDB como Contenedor
Ya tenemos la imagen disponible en nuestro servidor o computador local. Ahora lo que tenemos que hacer es ejecutar el siguiente comando:
docker run -d -p 27017-27019:27017-27019 --name mongodb mongo
Lo que hace el comando anterior es lo siguiente:
docker run
le dice al docker daemon que va ejecutar un container-d
hace que podamos ejecutar el container en detach o de forma desasistida.-p 27017-27019:27017-27019
hace un mapeo entre los puertos externos e internos.--name
nos permite darle un nombre a nuestro contenedor. En este caso se llamarámongodb
.- Y por último especificamos el nombre de la imagen a utilizar. En este caso
mongo
.
Interactuando con el Contenedor Docker de MongoDB a través de las operaciones básicas del Shell
Si has estado siguiendo este tutorial, a este punto tenemos ya un despliegue funcionalde MongoDB a través de Docker corriendo el modo detached
. Por lo tanto, sin ningún problema podemos conectarnos al terminal del contenedor. Pongámos en ello.
docker exec -it mongodb bash
El comando exec -it
nos permitirá conectarnos al container mongodb
y ejecutar el terminal local del mismo. A partir de allí podemos empezar a usar MongoDB.
MondoDB CLI
Lo primero que haremos es ejecutar:
mongo
Ahora que estamos ya adentro, podemos acceder a todas las funcionalidades. Por ejemplo, creamos una nueva base de datos llamada mongo_on_docker
`
use mongo_on_docker
Añadimos un par de registro a la colleción llamada libros
:
db.libros.save({ titulos: 'MongoDB',
author: { firstname: 'Jose', lastname: 'Gonzalez' }})
db.libros.save({ titulos: 'Docker for Everyboda',
author: { firstname: 'Ruben', lastname: 'Gonzalez' }})
Consultamos los libros escritos por author, firstname
"Jose":
db.libros.find({ author: { firstname: 'Jose' , lastname: 'Gonzalez' }})
En Resumen
Para realizar un despliegue de un servicio MongoDB en Docker hemos:
- Descargado la imagen del contenedor
- Creamos el contenedor en nuestro servidor, mapeamos los puertos y le dimos el nombre
mongodb
- Ejecutamos el contenedor en
detached mode
para que quedara corriendo como un servicio en memoria. - Ejecutamos el bash del contenedor para poder acceder a la Consola del MongoDB