Crear servidor mongo con Docker
Introducción
Seguramente siguiendo los cursos que vemos sobre programación web, necesitamos probar
la
persistencia de datos en una base de datos, que últimamente es muy usado el motor de base de datos MongoDB,
lo cual deben pasar por todo un proceso de instalación, para luego conectarse y usar debidamente. Yo aquí les traigo
una solución sencilla si ya cuentan con Docker en su sistema operativo y no necesitarán de estar instalarlo y
además que podrán cambiar de versión cuando ustedes deseen.
Que necesitaremos para este tutorial
- Docker y docker compose instalado en su sistema operativo.
- IDE para escribir las configuraciones.
- Algún cliente para conectarse a la Base de datos, por ejemplo NoSQLBooster o Robo3T.
Manos a la obra
Lo primero que haremos es crearnos una carpeta donde colocaremos nuestros archivos de
configuración de MongoDB. Estos archivos los llamaremos .env y docker-compose.yml, donde los dos
archivos tendrán el siguiente contenido:
.env
MONGO_INITDB_ROOT_USERNAME=admin
MONGO_INITDB_ROOT_PASSWORD=admin
docker-compose.yml
version: "3.7"
services:
mongo:
image: mongo:4.4
restart: always
env_file: .env
ports:
- 27017:27017
Donde en el archivo .env están las configuraciones que podemos ver en la
documentación de MongoDB Docker Hub (aquí) y en la
configuración de docker-compose la idea es usar los puertos por defecto para conectarnos que es el
27017 y usaremos la versión más reciente de mongo, para esta fecha la versión 4.4.
Luego lo que haremos es ejecutar docker con las configuraciones suministradas. Eso lo
haremos desde nuestra terminal y ubicados en la raíz de nuestro proyecto:
docker-compose up -d
Esto puede tardar un poco, dependerá de la velocidad de tu internet para que descargue
la imagen de mongo:4.4, cabe destacar que ustedes pueden seleccionar la versión de mongo que deseen o necesiten.
Luego que se haya descargado e iniciado el contenedor de mongo, procedemos a conectarnos con el cliente de base de
datos. En este caso les mostraré como queda con NoSQLBooster.
En la aplicación le vamos a dar en connect, que nos aparecerá una ventana
parecida a la siguiente, donde colocaremos la IP o dominio del servidor mongo, en este caso lo pueden dejar en
localhost y le dan un nombre a la base de datos que ustedes prefieran, en mi caso pondré
local_db.
Luego vamos a ir a la pestaña Authentication, para colocar las credenciales
para conectarse a la DB. Lo primero a editar es el modo de autenticación, que aquí seleccionaremos
Basic(Username/Password) y en Auth DB colocaremos admin, por último User
Name y Password le colocaremos lo que suministramos en el archivo .env, que
aquí lo dejé con admin y admin respectivamente.
Después lo que hacemos es testear la conexión y verificamos que haya sido con status
OK.
Si está OK le damos aceptar y luego guardar. Nos muestra en el listado de
conexiones la que acabamos de crear, la pulsamos doble click o al botón connect. Ya en este punto tenemos la
conexión lista, para poder trabajar con ella debemos crear un colección y un usuario de lectura y escritura
(readWrite), así como vemos a continuación.
De este último paso, seguramente les saldrá una pestaña con la siguiente
configuración:
Aquí solo debemos cambiar el nombre del usuario si así lo deseamos y ejecutar con el
botón run de la barra de herramientas. Con este usuario bastará para conectarse a la DB y comenzar a
usarla en sus proyectos.
Conclusión
Con esto damos por finalizado el tutorial para crear y conectarnos a nuestra DB mongo
usando la magia de Docker, ya no tenemos que estar instalando nuevas ni viejas versiones, basta con cambiar
el tag de la imagen Docker y podemos hacer las configuraciones, restore, backup y demás procedimientos como si el
docker se haya instalado en tu máquina, claro está que habría que hacer unos ajustes en el
docker-compose para lograr una mayor personalización del mismo. Sin más me despido, espero que les sea
de mucha ayuda, ya saben si tienen alguna duda, no lo piensen dos veces y comentemos que así le podremos ayudar,
hasta pronto.