Cómo ejecutar MongoDB a través de un Docker-Container
Los contenedores Docker de MongoDB son fáciles de replicar y escalar. A medida que aumenta la carga en la base de datos, puedes iniciar más contenedores MongoDB para mantener estable el rendimiento de la base de datos.
¿Puede ejecutarse MongoDB en un Docker Container?
MongoDB puede ejecutarse perfectamente en un Docker Container. En el Docker Hub hay dos tipos de imágenes de MongoDB: las imágenes de la comunidad (Community Edition) y las imágenes oficiales (Enterprise Edition). Deberás elegir entre unas y otras en función de tus necesidades. Las de Community Edition suelen utilizarse en proyectos no comerciales o implementaciones más pequeñas. En cambio, las de Enterprise Edition ofrecen funciones adicionales y soporte que resultan útiles en aplicaciones de mayor escala o entornos empresariales que requieren características avanzadas como cifrado, auditoría e integración de LDAP.
Si las imágenes preconfiguradas de MongoDB en Docker Hub no se adaptan del todo a tus necesidades, Docker te permite crear una imagen personalizada usando un Dockerfile. En él, puedes seleccionar la versión de MongoDB, establecer opciones de configuración específicas (como métodos de autenticación) e instalar herramientas o controladores adicionales que sean importantes para tu entorno.
Iniciar MongoDB como Docker Container: instrucciones paso a paso
Docker destaca por su virtualización ligera, que facilita la portabilidad y consistencia en diferentes entornos de desarrollo y producción. A continuación, te explicamos paso a paso cómo configurar contenedores de MongoDB en Docker. Si eres principiante, te recomendamos nuestro tutorial de Docker: instalación y primeros pasos, en el que ofrecemos una introducción a esta plataforma de contenedores.
Paso 1: descargar la imagen de MongoDB en Docker
Para crear un contenedor de MongoDB en Docker, primero hay que descargar la imagen correspondiente desde Docker Hub. Abre tu terminal o línea de comandos y ejecuta este comando:
docker pull mongo:latest
bashSi la imagen ya está disponible a nivel local, Docker no descargará una nueva versión a menos que especifiques explícitamente la versión que quieres usar (por ejemplo, mongo:4.4
).
Paso 2: iniciar el Docker Container en MongoDB
Una vez descargada la imagen de Docker para MongoDB, puedes iniciar un contenedor basado en esa imagen. Usa para ello el siguiente código:
docker run --name mongodb-container -d -p 27017:27017 mongo:latest
bashdocker run
sirve para iniciar un Docker-Container.--name mongodb-container
asigna al contenedor el nombre “mongodb-container”.-d
ejecuta el contenedor en segundo plano (modo “detached”). Es decir, mientras se esté ejecutando el contenedor, tu terminal se podrá seguir utilizando.-p 27017:27017
mapea el puerto estándar de MongoDB 27017 del contenedor a tu sistema host.mongo:latest
da la instrucción de utilizar la imagen más reciente.
Paso 3: comprobar si se está ejecutando el contenedor
Para asegurarte de que el contenedor se ha iniciado correctamente, escribe el siguiente comando:
docker ps
bashLa información obtenida ofrece una visión global de qué contenedores Docker de MongoDB están activos en tu sistema, cuánto tiempo llevan en ejecución y qué puertos están utilizando. Si necesitas más detalles, como información sobre contenedores detenidos u opciones de filtrado específicas, puedes usar el comando docker ps -a
.
Paso 4: conectar con MongoDB en el Docker Container
Ahora puedes conectar con la instancia de MongoDB en tu contenedor Docker. Para ello, abre la MongoDB Shell directamente en el contenedor:
docker exec -it mongodb-container mongo
bashdocker exec
ejecuta un comando en el contenedor que ya se está ejecutando.-it
permite la interacción con el terminal en el contenedor.mongodb-container
es el nombre del contenedor de MongoDB que se ha instalado.mongo
se encarga de iniciar la MongoDB Shell.
Después de ejecutar este comando, deberías ver la MongoDB Shell lista para recibir comandos. Si es así, es el momento de introducir los comandos de MongoDB habituales para gestionar o consultar tu base de datos.
Paso 5: realizar operaciones en la MongoDB Shell
Ahora puedes visualizar todas las bases de datos que hay en el servidor MongoDB de la siguiente manera:
show databases
bashEl resultado contiene los nombres de las bases de datos:
admin 0.000GB
local 0.000GB
test 0.000GB
bashPara trabajar con una base de datos concreta en la MongoDB Shell, utiliza el siguiente comando:
use mydatabase
bashEl comando te permite cambiar a la base de datos llamada “mydatabase”. Si la base de datos no existe, se creará automáticamente cuando introduzcas un documento en ella.
También puedes consultar documentos de una colección determinada:
db.users.find()
bashLa MongoDB Shell devuelve todos los documentos que están almacenados en la colección “users”.
{ "_id": ObjectId("609823e9f9a5f7f364fc3f90"), "username": "alicia", "age": 28 }
{ "_id": ObjectId("609823f2f9a5f7f364fc3f91"), "username": "leo", "age": 32 }
{ "_id": ObjectId("609823f9f9a5f7f364fc3f92"), "username": "carlos", "age": 25 }
bsonCada documento contiene un campo único _id
y otros campos como username
y age
(nombre de usuario y edad).
En nuestra Digital Guide puedes encontrar más información sobre las Docker Tools, así como una presentación de MongoDB y comparación con SQL.