Cómo Usar MongoDB en un Contenedor de Docker
MongoDB es una de las bases de datos NoSQL más populares, y ejecutarla dentro de un contenedor de Docker es una práctica común en el desarrollo de aplicaciones web. Esto nos permite tener una instancia de MongoDB lista para usar sin necesidad de instalarla directamente en nuestro sistema, facilitando su configuración y gestión.
En este tutorial, aprenderás a configurar y ejecutar un contenedor de MongoDB utilizando Docker. Desde la descarga de la imagen hasta la ejecución de comandos dentro del contenedor, exploraremos los pasos esenciales para que puedas integrarlo fácilmente en tu flujo de desarrollo.
¡Vamos a empezar!
Requerimientos
Antes de comenzar, asegúrate de cumplir con los siguientes requisitos:
- Tener Docker instalado en tu sistema.
- Conocer los conceptos básicos de MongoDB (colecciones, documentos, consultas básicas).
- Familiaridad con la línea de comandos para ejecutar los comandos de Docker y MongoDB.
Si aún no tienes Docker instalado, puedes seguir la guía oficial según tu sistema operativo:
Instalar Docker
Descargar el contenedor
Lo primero es aprender a descargar la imagen de mongo, para poder descargar la imagen de Mongodb, ejecuta lo siguiente para descargar la ultima version de lo imagen:
docker pull mongo:latest
o simplemente ejecuta:
docker pull mongo
Crear un Contenedor
Luego para ejecutar nuestro contenedor:
docker run -p 27018:27017 --name mongodb mongo
y para conectarnos podemos usar el cliente local de mongo
mongo localhost:27018
Detach mode
pero para que esto funcione tenemos que mantener el proceso ejecutandose desde consola, asi que vamos a añadir otra opcion para ejecutarlo en modo detach
Mi comando más frecuente
De manera personal este es el comando que más frecuentemente uso cuando desarrollo:
docker run -p 27017:27017 --name mymongo -d mongo
docker run -d -p 27018:27017 -v ~/mongo-docker-ejemplo:/data/db --name mymongodb mongo:latest
Podemos revisar la ejecucion del proceso con docker ps
docker exec -it mymongodb bash
una vez dentro del contenedor podemos ejecutar el comando mongo y a partir de alli empezar a crear una base de datos:
use test
db.users.insert({name: "ryan ray"})
db.users.find()
Para conectarse desde una instanacia local:
mongo --port
mongo localhost:27018
use test
db.users.find()