Docker + MongoDB

Instalando un servidor de MongoDB para desarrollo con Docker

Introducción

Cuando nos ponemos a trabajar con un backend, una de las primeras tareas que nos planteamos es tener la base de datos en local, para poder hacer todo tipo de pruebas rápidas sin fastidiar a los compañeros.

Hasta hace unos años lo más normal era instalarte en tu máquina el motor de base de datos de turno, por ejemplo MongoDB, ¿Qué problemas nos podemos encontrar siguiendo esta aproximación?

  • Puede que vayamos a instalar una versíon de un motor y nos de problemas en nuestra máquina.
  • Es un rollo cuando salimos del proyecto ir dejando "motores" zombies que ya no usamos.
  • Otras veces no tenemos exactamente la misma versión que producción y eso puede traer problemas.
  • También es muy normal, que hayas hecho tantas pruebas que quieras partir de una versión limpia, o asegurarte que no hay nada que hayas tocado diferente a producción, tanto en settings del motor con en contenido o estructura de tu base de datos.
  • El peor de los casos es cuando estamos entre dos proyectos y uno no usa la última versión del motor y la otra sí ¿Qué hacemos vamos desinstalando una e instalando la otra dependiendo del proyecto en el que estemos trabajando?

Temario

1 Mongo Docker I - Instalación

En esta lección vamos a ver como descargar la imagen de MongoDb de Docker Hub, arrancarla en un contenedor, y conectarnos a ella desde el shell.

Ver lección

2 Mongo Docker II - Backups

En el paso anterior vimos como instanciar un contenedor de Docker basado en una imagen que tuviera un MongoDB, y después nos pusimos por línea de comandos a crear una mini base de datos. Esto no esta mal, peeerooo en el mundo real, trabajamos con bases de datos que contienen un montón de información, lo normal es que restauremos un backup y nos pongamos a trabajar informnación parecida a la real.

¿Cómo podemos hacer ésto con Docker?

Ver lección

¿Te gusta el mundo Devops?

En Lemoncode impartimos un Bootcamp Devops Online, en él encontrarás todos los recursos necesarios: clases de los mejores profesionales del sector, tutorías en cuanto las necesites y ejercicios para desarrollar lo aprendido en los distintos módulos. Si quieres saber más puedes pinchar aquí para más información sobre este Bootcamp Devops.