Crear servidor mongo con Docker

por - septiembre 29, 2020

Crear servidor mongo con Docker

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

Creando conexión 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.

Credenciales MongoBD

Después lo que hacemos es testear la conexión y verificamos que haya sido con status OK.

Testando conexión

Testando satisfactoriamente Conexión MongoDB

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.

Creando colección MongoDB

Creando usuario MongoDB

De este último paso, seguramente les saldrá una pestaña con la siguiente configuración:

Editando configuración de usuario

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.

¿Quieres aprender más sobre los fundamentos de docker? Te ofrezco un cupón con nuestro curso Docker: Desarrollo Práctico, ingresando desde aquí.


También te puede interesar

0 comentarios

ToTop