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í.
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.