Utilizando MongoDB con DockerCompose y MongoExpress
Backend MongoDB Docker

Utilizando MongoDB con DockerCompose y MongoExpress

Silverio Martínez García
Silverio Martínez García

En este artículo vamos a ver como levantar un servidor de B.D. MongoDB junto con otro servicio llamado 'Mongo-Express' que nos permitirá acceder a la B.D. mediante una UI desde el navegador web.

Después de haber visto varias opciones para utilizar algún cliente UI de MongoDB, me he encontrado con que la mayoría son de pago o he tenido problemas para instalarlos en Linux.

MongoExpress es de código abierto y cumple perfectamente con su cometido, por lo que es una opción a tener en cuenta cuando desarrollamos con MongoDB.

En el artículo anterior vimos como instalar 'docker-componse' en Linux.
Vamos a ver a continuación el contenido del archivo 'docker-compose.yml' que contrendrá el servicio de nuestra B.D. MongoDB y el cliente web MongoExpress.

docker-componse.yml:

Como puedes ver en el archivo .yml el user y password para nuestra B.D. MongoDB es 'root'/'example'. Los puedes cambiar por otros valores pero ten en cuenta que también hay que cambiarlos en la sección 'environment' del servicio 'mongo-express' para que se pueda conectar correctamente contra la B.D.

Además el servicio 'mongo' tiene 2 volúmenes definidos de tal forma que el contenido de la B.D. y su configuración se guardarán respectivamente en las carpetas './mongodb_data' y './mongodb_config' en el mismo path donde está nuestro archivo 'docker-compose.yml'.

Levantando nuestros servicios con docker-compose:

Dentro de la misma carpeta donde hemos copiado el archivo 'docker-compose.yml' ejecutamos el siguiente comando:
> docker-compose up -d

A continuación podemos ejecutar el siguiente comando para comprobar que ambos contenedores se están ejecutando correctamente:
> docker ps
> docker-compose ps

docker-compose up mongodb y mongo-express

Cuando queramos detener ambos servicios y destruir sus contenedores podemos escribir (dentro de la misma carpeta del archivo docker-compose.yml):
> docker-compose down

Si por algún motivo nuestros contenedores no se han llegado a levantar y necesitamos consultar los logs para ver que ha sucedido podemos utilizar los comandos:
> docker logs mongo
> docker logs mongodb_mongo-express_1

Accediendo a nuestra B.D. desde MongoExpress:

Una vez que nuestros servicios están ejecutándose correctamente, vamos a acceder a nuestra B.D. por medio de 'MongoExpress'.
Para ello abrimos nuestro navegador favorito y accedemos a través de la url:
http://127.0.0.1:8081/
o
http://localhost:8081/

A gusto del consumidor :)

Desde 'MongoExpress' podemos crear, eliminar y consultar nuestras Bases de Datos.
Como ves en el ejemplo yo he añadido una nueva B.D. llamada 'SharingCoders'.

Haciendo click en la B.D. accedemos a la gestión de las Colecciones, donde podremos crear, eliminar y consultar el contenido de cada una de ellas.
Dentro de la B.D. 'SharingCoders' he añadido una nueva colección llamada 'Issue':

Haciendo click en cada Colección, podremos ver su contenido directamente desde la web o incluyo ejecutar querys para consultarlas más en detalle.

Conclusión:

En este artículo hemos visto como podemos ejecutar nuestro servidor de B.D. 'MongoDB' utilizando Docker/docker-compose y gestionarlo desde nuestro navegador por medio de 'MongoExpress'.

Espero que haya sido de utilidad ya que no es fácil encontrar un cliente UI para MongoDB en Linux que cumpla nuestras necesidades.

Un saludo.
A Tope Codear!!!

Enlaces de relacionados:

GitHub - mongo-express/mongo-express: Web-based MongoDB admin interface, written with Node.js and express
Web-based MongoDB admin interface, written with Node.js and express - GitHub - mongo-express/mongo-express: Web-based MongoDB admin interface, written with Node.js and express
¿Qué es MongoDB? - Datademia
Aprende análisis de datos, ciencia de datos e ingeniería de datos.