Los co­n­te­ne­do­res 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 co­n­te­ne­do­res MongoDB para mantener estable el re­n­di­mie­n­to de la base de datos.

¿Puede eje­cu­tar­se MongoDB en un Docker Container?

MongoDB puede eje­cu­tar­se pe­r­fe­c­ta­me­n­te 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 (En­te­r­pri­se Edition). Deberás elegir entre unas y otras en función de tus ne­ce­si­da­des. Las de Community Edition suelen uti­li­zar­se en proyectos no co­me­r­cia­les o im­ple­me­n­ta­cio­nes más pequeñas. En cambio, las de En­te­r­pri­se Edition ofrecen funciones adi­cio­na­les y soporte que resultan útiles en apli­ca­cio­nes de mayor escala o entornos em­pre­sa­ria­les que requieren ca­ra­c­te­rí­s­ti­cas avanzadas como cifrado, auditoría e in­te­gra­ción de LDAP.

Si las imágenes pre­co­n­fi­gu­ra­das de MongoDB en Docker Hub no se adaptan del todo a tus ne­ce­si­da­des, Docker te permite crear una imagen pe­r­so­na­li­za­da usando un Do­c­ke­r­fi­le. En él, puedes se­le­c­cio­nar la versión de MongoDB, es­ta­ble­cer opciones de co­n­fi­gu­ra­ción es­pe­cí­fi­cas (como métodos de au­te­n­ti­ca­ción) e instalar he­rra­mie­n­tas o co­n­tro­la­do­res adi­cio­na­les que sean im­po­r­ta­n­tes para tu entorno.

Iniciar MongoDB como Docker Container: in­s­tru­c­cio­nes paso a paso

Docker destaca por su vi­r­tua­li­za­ción ligera, que facilita la po­r­ta­bi­li­dad y co­n­si­s­te­n­cia en di­fe­re­n­tes entornos de de­sa­rro­llo y pro­du­c­ción. A co­n­ti­nua­ción, te ex­pli­ca­mos paso a paso cómo co­n­fi­gu­rar co­n­te­ne­do­res de MongoDB en Docker. Si eres pri­n­ci­pia­n­te, te re­co­me­n­da­mos nuestro tutorial de Docker: in­s­ta­la­ción y primeros pasos, en el que ofrecemos una in­tro­du­c­ción a esta pla­ta­fo­r­ma de co­n­te­ne­do­res.

Paso 1: descargar la imagen de MongoDB en Docker

Para crear un co­n­te­ne­dor de MongoDB en Docker, primero hay que descargar la imagen co­rre­s­po­n­die­n­te desde Docker Hub. Abre tu terminal o línea de comandos y ejecuta este comando:

docker pull mongo:latest
bash

Si la imagen ya está di­s­po­ni­ble a nivel local, Docker no de­s­ca­r­ga­rá una nueva versión a menos que es­pe­ci­fi­ques ex­plí­ci­ta­me­n­te la versión que quieres usar (por ejemplo, mongo:4.4).

Paso 2: iniciar el Docker Container en MongoDB

Una vez de­s­ca­r­ga­da la imagen de Docker para MongoDB, puedes iniciar un co­n­te­ne­dor basado en esa imagen. Usa para ello el siguiente código:

docker run --name mongodb-container -d -p 27017:27017 mongo:latest
bash
  • docker run sirve para iniciar un Docker-Container.
  • --name mongodb-container asigna al co­n­te­ne­dor el nombre “mongodb-container”.
  • -d ejecuta el co­n­te­ne­dor en segundo plano (modo “detached”). Es decir, mientras se esté eje­cu­ta­n­do el co­n­te­ne­dor, tu terminal se podrá seguir uti­li­za­n­do.
  • -p 27017:27017 mapea el puerto estándar de MongoDB 27017 del co­n­te­ne­dor a tu sistema host.
  • mongo:latest da la in­s­tru­c­ción de utilizar la imagen más reciente.

Paso 3: comprobar si se está eje­cu­ta­n­do el co­n­te­ne­dor

Para ase­gu­rar­te de que el co­n­te­ne­dor se ha iniciado co­rre­c­ta­me­n­te, escribe el siguiente comando:

docker ps
bash

La in­fo­r­ma­ción obtenida ofrece una visión global de qué co­n­te­ne­do­res Docker de MongoDB están activos en tu sistema, cuánto tiempo llevan en ejecución y qué puertos están uti­li­za­n­do. Si necesitas más detalles, como in­fo­r­ma­ción sobre co­n­te­ne­do­res detenidos u opciones de filtrado es­pe­cí­fi­cas, 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 co­n­te­ne­dor Docker. Para ello, abre la MongoDB Shell di­re­c­ta­me­n­te en el co­n­te­ne­dor:

docker exec -it mongodb-container mongo
bash
  • docker exec ejecuta un comando en el co­n­te­ne­dor que ya se está eje­cu­ta­n­do.
  • -it permite la in­ter­ac­ción con el terminal en el co­n­te­ne­dor.
  • mongodb-container es el nombre del co­n­te­ne­dor 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 in­tro­du­cir los comandos de MongoDB ha­bi­tua­les para gestionar o consultar tu base de datos.

Paso 5: realizar ope­ra­cio­nes en la MongoDB Shell

Ahora puedes vi­sua­li­zar todas las bases de datos que hay en el servidor MongoDB de la siguiente manera:

show databases
bash

El resultado contiene los nombres de las bases de datos:

admin   0.000GB
local      0.000GB
test       0.000GB
bash

Para trabajar con una base de datos concreta en la MongoDB Shell, utiliza el siguiente comando:

use mydatabase
bash

El comando te permite cambiar a la base de datos llamada “my­da­ta­ba­se”. Si la base de datos no existe, se creará au­to­má­ti­ca­me­n­te cuando in­tro­du­z­cas un documento en ella.

También puedes consultar do­cu­me­n­tos de una colección de­te­r­mi­na­da:

db.users.find()
bash

La MongoDB Shell devuelve todos los do­cu­me­n­tos que están al­ma­ce­na­dos 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 }
bson

Cada 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 in­fo­r­ma­ción sobre las Docker Tools, así como una pre­se­n­ta­ción de MongoDB y co­m­pa­ra­ción con SQL.

Manage Databases
Managed Database von IONOS

Bases de datos a medida de tus ne­ce­si­da­des. Incluye soporte 24/7.

  • Ar­qui­te­c­tu­ra de primera
  • Soporte 24/7
  • Centros de datos ce­r­ti­fi­ca­dos
Ir al menú principal