Cómo conectar la GUI Compass a una base de datos MongoDB desplegada en Docker

El logotipo de MongoDB en un teléfono frente a su sitio web.

MongoDB es una base de datos No SQL ampliamente utilizada que puede funcionar bien en contenedores si sabes cómo configurarla. Aprende a conectar la GUI de Compass aquí.

Imagen: Timon/Adobe Stock

MongoDB es una de las bases de datos NoSQL de código abierto más utilizadas del mercado. Ofrece todas las características que necesitas para gestionar y manejar enormes cantidades de datos e incluso cuenta con una aplicación de escritorio oficial que facilita un poco la gestión de estas bases de datos.

VER: Kit de contratación: Ingeniero de bases de datos (Tech Republic Premium)

Podrías pensar que conectar la aplicación GUI a una instancia de MongoDB desplegada en Docker sería bastante difícil, pero no lo es tanto como parece. En este tutorial, te mostraré cómo desplegar el contenedor MongoDB y luego conectarte a él desde MongoDB Compass.

Salta a:

Qué necesitarás para conectar MongoDB Compass a una base de datos en contenedor

Para que esta conexión funcione, necesitarás una instancia en ejecución de un sistema operativo que soporte tanto Docker como la aplicación MongoDB Compass. Haré una demostración con Ubuntu Linux y te mostraré cómo instalar Docker, desplegar el contenedor y luego conectar Compass a una base de datos. Tenga en cuenta que este proceso es compatible con una variedad de distribuciones de Linux.

Si estás más interesado en instrucciones generales para instalar MongoDB GUI Compass y conectarlo a un servidor remoto, este tutorial puede ser un mejor punto de partida.

Conexión a MongoDB alojado a través de Docker

Lo primero que hay que hacer para conectarse a MongoDB a través de este método es instalar Docker. Puedes añadir la clave GPG oficial de Docker con este comando:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

A continuación, añadirá el archivo Docker :

echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

A partir de ahí, es hora de instalar las dependencias necesarias con este comando :

sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release -y

Para instalar la última versión del motor Docker, puede utilizar los dos comandos siguientes:

sudo apt-get update

sudo apt-get install docker-ce docker-ce-cli containerd.io -y

Ahora añade tu usuario al grupo Docker con lo siguiente:

sudo usermod -aG docker $USER

Cierre la sesión y vuelva a iniciarla para que los cambios surtan efecto.

Despliegue y configuración del contenedor MongoDB

Ahora podemos desplegar el contenedor MongoDB con los siguientes elementos:

docker run -d -p 27017:27017 --name ejemplo-mongo mongo:latest

Cuando el contenedor se está ejecutando, debe acceder a él con este comando:

docker exec -it ejemplo-mongo bash

Una vez dentro del contenedor, necesitamos editar el archivo de configuración de MongoDB con este comando :

sudo nano /etc/mongod.conf.orig

En este archivo, busque la siguiente sección:

neto:

  puerto: 27017

  bindIp: 127.0.0.1  

Sustituya esta sección por la siguiente:

neto:

  puerto: 27017
  bindIp: 0.0.0.0

Una vez realizados estos cambios, guarde y cierre el archivo. Salga del contenedor con el botón salida orden.

A partir de ahí, reinicie el contenedor con :

docker restart ID

En este comando, ID es el ID del contenedor Mongo. Si no estás seguro del ID, puedes encontrarlo con :

docker ps

Nota: Puede que necesites desplegar el contenedor MongoDB con variables de entorno para el nombre de usuario y la contraseña, lo que se puede hacer de la siguiente manera:

docker run -d -name some-mongo -e MONGO_INITDB_ROOT_USERNAME=NAME -e MONGO_INITDB_ROOT_PASSWORD=SECRET mongo

NAME es un nombre de usuario y SECRET es una contraseña única y segura.

Conexión a la brújula

Con el contenedor MongoDB en ejecución, ahora puede conectarse a él con Compass utilizando el mismo comando de conexión que utilizaría si MongoDB se instalara a través del gestor de paquetes tradicional y las credenciales de usuario que utilizó con las variables de entorno.

Si sigue sin poder conectarse a la versión en contenedor de MongoDB desde una instancia remota de Compass, es posible que deba instalar Compass en el mismo equipo que ejecuta el contenedor de MongoDB.

Próximos pasos

Enhorabuena, ahora tienes una interfaz gráfica bien diseñada para hacer tus tareas de administración de MongoDB un poco más fáciles. Puedes conectarte a tantos servidores MongoDB como necesites desde Compass y empezar a crear y administrar todas las colecciones MongoDB que necesites.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *