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!
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
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
yMONGO_INITDB_ROOT_PASSWORD
) en el archivodocker-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!