Instalación de MongoDB con Docker


Aprende a instalar y configurar MongoDB usando Docker. Este tutorial te guiará paso a paso, desde la instalación de Docker hasta la configuración de un contenedor con MongoDB y acceso a la consola. ¡Optimiza tu desarrollo con estas poderosas herramientas!

oscar Escrito por oscar 21 August 2024 259 0

La gestión eficiente de bases de datos es esencial para el desarrollo y despliegue de aplicaciones modernas. MongoDB, una base de datos NoSQL popular por su escalabilidad y flexibilidad, se puede instalar fácilmente con Docker. La creación, distribución y ejecución de aplicaciones en contenedores se facilita con Docker, que proporciona un entorno reproducible y consistente para MongoDB y otras tecnologías.

Aprende cómo usar Docker para configurar un entorno de desarrollo local de MongoDB en este tutorial. Exploraremos los pasos necesarios para tener una instancia funcional de MongoDB en cuestión de minutos, desde la instalación inicial hasta la configuración básica. ¡Vamos a empezar!

Instalación de docker

Antes de comenzar, si aún no has trabajado con Docker o no lo tienes instalado, te recomiendo revisar los siguientes artículos. Estos te ayudarán a familiarizarte con esta tecnología de contenedores, que facilitará la instalación y configuración de MongoDB.

 ¿Que es mongo DB?

MongoDB es una base de datos NoSQL orientada a documentos que es flexible para la gestión de datos y puede manejar cantidades de datos grandes. MongoDB almacena los datos en documentos de tipo JSON, lo que le permite una estructura más adaptable y dinámica a diferencia de las bases de datos relacionales convencionales. Esto lo convierte en el mejor candidato para aplicaciones que requieren escalabilidad horizontal, gran capacidad de almacenamiento y facilidad de manejo de datos semiestructurados o no estructurados.

Documentación oficial

Puedes encontrar la documentación completa de MongoDB en su sitio web oficial, donde se ofrecen guías, tutoriales, y referencias detalladas sobre su uso y configuración:

Crear docker-compose para mongo

Archivo docker compose

El siguiente archivo docker-compose.yml tiene la estructura básica para crear un contenedor con MongoDB.

version: '3.8'

services:
  mongodb:
    image: mongo:latest
    container_name: mongodb_container
    restart: always
    ports:
      - "27017:27017"
    volumes:
      - mongo_data:/data/db
    environment:
      MONGO_INITDB_ROOT_USERNAME: root
      MONGO_INITDB_ROOT_PASSWORD: example

volumes:
  mongo_data:
    driver: local

Explicación de la estructura:

  • version: '3.8': Especifica la versión de Docker Compose que estás utilizando. La versión 3.8 es compatible con las últimas versiones de Docker.
  • services: Define los servicios que deseas crear. En este caso, hay un solo servicio llamado mongodb.
  • mongodb: Es el nombre del servicio, que también será el nombre del contenedor.
    • image: mongo
    • : Especifica la imagen de MongoDB que se descargará y utilizará. La etiqueta latest asegura que se utilice la versión más reciente de MongoDB.
    • container_name: mongodb_container: Asigna un nombre específico al contenedor.
    • restart: always: Indica que el contenedor debe reiniciarse automáticamente si falla.
    • ports: Mapea el puerto 27017 del contenedor al puerto 27017 del host, lo que permite acceder a MongoDB desde el host a través de este puerto.
    • volumes: Define un volumen persistente para almacenar los datos de la base de datos. Esto asegura que los datos se mantengan incluso si el contenedor se detiene o elimina.
    • environment: Establece variables de entorno, como el nombre de usuario y la contraseña de root para MongoDB, necesarios para la autenticación.
  • volumes: Declara un volumen llamado mongo_data, que se usará para persistir los datos de MongoDB.

Ejecutar archivo

Una vez creado el archivo, procedemos a ejecutar el docker compose con el siguiente comando:

docker-compose up -d
Docker mongoDB
Docker mongoDB

Acceder a la consola de mongo

Una vez que el contenedor está en ejecución, puedes acceder a la consola de MongoDB ejecutando el siguiente comando en la terminal:

docker exec -it mongodb_container mongosh -u root -p example

Nota: para mongo versión 6.0 en adelante se usa el comando mongosh, versiones anteriores solo con mongo accede a la consola.

Explicación del comando

  • docker exec -it: Ejecuta un comando en un contenedor en ejecución. La opción -it habilita el modo interactivo y la asignación de una pseudo-TTY, lo que te permite interactuar con la consola.

  • mongodb_container: Es el nombre del contenedor MongoDB, definido en el archivo docker-compose.yml. Asegúrate de usar el nombre correcto de tu contenedor.

  • mongo: Es el comando que inicia la consola de MongoDB.

  • -u root -p example: Estos parámetros se utilizan para ingresar con el usuario y contraseña que definiste en las variables de entorno (MONGO_INITDB_ROOT_USERNAME y MONGO_INITDB_ROOT_PASSWORD) en el archivo docker-compose.yml.

Verificar la conexión con: 

show dbs

Salir de la conexión:

exit

Por ultimo

Hemos aprendido cómo instalar y configurar MongoDB utilizando Docker en este tutorial, que nos permite administrar bases de datos de manera eficiente y escalable. Descubrimos cómo usar Docker Compose para simplificar el despliegue de MongoDB, configurando variables de entorno, volúmenes de persistencia de datos y accediendo a la consola de MongoDB desde el contenedor durante el proceso.

Con estos conocimientos, estás listo para incorporar MongoDB en tus proyectos y aprovechar la flexibilidad de los contenedores Docker para crear entornos de desarrollo y producción consistentes y fácilmente replicables. ¡Ahora puedes controlar MongoDB y Docker!

Palabras clave: MongoDB, Docker, Docker Compose, Instalación de MongoDB, Contenedores Docker, Tutorial MongoDB, Configuración MongoDB, Base de datos NoSQL, Acceso consola MongoDB, Persistencia de datos Docker, Desarrollo con Docker

Comentario

Debe aceptar antes de enviar