WindowsMacSoftwareConfiguraciónSeguridadProductividadLinuxAndroidRendimientoConfiguraciónApple Todo

Configuración de MongoDB en Docker para Linux

Editado 2 hace meses por ExtremeHow Equipo Editorial

DockerLinuxMongoDBBase de datosContenerizaciónDesarrolloVirtualizaciónImplementaciónConfiguraciónConfiguración

Configuración de MongoDB en Docker para Linux

Traducción actualizada 2 hace meses

MongoDB es una popular base de datos NoSQL que permite una gestión de datos flexible y escalable. Docker, por otro lado, es una plataforma que permite ejecutar software en contenedores, asegurando que las aplicaciones puedan ejecutarse de manera consistente en cualquier plataforma. Usar Docker para configurar MongoDB en Linux combina la flexibilidad de MongoDB con las potentes capacidades de contenedorización de Docker. Esta guía te introducirá al proceso de configurar MongoDB en Docker en un entorno Linux. Cubriremos cada paso en detalle para asegurarnos de que puedas implementarlo con éxito.

1. Requisitos previos

Antes de comenzar a configurar MongoDB en Docker, asegúrate de tener lo siguiente:

1.1 Instalación de Docker

Si Docker no está instalado en tu sistema Linux, puedes seguir estos pasos para instalarlo:

  1. Primero, actualiza la base de datos de paquetes:
    sudo apt update
  2. Luego, instala los paquetes necesarios:
    sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
  3. A continuación, agrega la clave GPG oficial de Docker:
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  4. Configura el repositorio estático de Docker:
    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
  5. Actualiza la base de datos de paquetes una vez más:
    sudo apt update
  6. Finalmente, instala Docker:
    sudo apt install docker-ce docker-ce-cli containerd.io

Después de seguir estos pasos, Docker debería estar instalado correctamente en tu sistema Linux. Puedes verificar la versión instalada utilizando lo siguiente:

docker --version

2. Obtener la imagen Docker de MongoDB

Ahora que Docker está instalado, el siguiente paso es obtener la imagen de MongoDB desde Docker Hub. Docker Hub es una biblioteca basada en la nube donde los usuarios pueden encontrar imágenes para varios programas. Para obtener la imagen de MongoDB, usa el siguiente comando:

sudo docker pull mongo

Este comando descargará la última versión de MongoDB desde Docker Hub. Puedes especificar una versión particular agregando dos puntos (:) y el número de versión después de "mongo". Por ejemplo, para obtener la versión 4.4, usarías:

sudo docker pull mongo:4.4

3. Ejecutando el contenedor de MongoDB

Después de descargar la imagen de MongoDB, puedes crear y ejecutar un contenedor usando la imagen. Un contenedor es como una máquina virtual liviana que puede ejecutar diferentes aplicaciones. Ejecuta el siguiente comando para ejecutar un contenedor de MongoDB:

sudo docker run --name mongodb -d -p 27017:27017 mongo

Análisis del orden:

4. Verificando la configuración de MongoDB

Una vez que el contenedor de MongoDB está ejecutándose, debes verificar que todo esté configurado correctamente. Verifica el estado del contenedor de Docker usando lo siguiente:

sudo docker ps

Esto mostrará la lista de contenedores en ejecución, y también verás el contenedor de MongoDB entre ellos. Mostrará detalles como la identificación del contenedor, el nombre, la imagen utilizada y el puerto mapeado.

Puedes verificar esto aún más accediendo a MongoDB usando el shell de MongoDB. Primero, inicia sesión en el contenedor de MongoDB en ejecución:

sudo docker exec -it mongodb bash

Dentro del shell del contenedor, inicia el shell de MongoDB escribiendo lo siguiente:

mongo

Esto te dará un indicador del shell de MongoDB, lo que confirmará que MongoDB se está ejecutando dentro del contenedor Docker.

5. Manteniendo los datos de MongoDB

Por defecto, cualquier dato almacenado en un contenedor Docker no es persistente. Esto significa que si el contenedor se elimina, todos los datos creados dentro de él se perderán. Para persistir los datos, debes mapear un directorio en la máquina host a un directorio dentro del contenedor.

Para hacer esto, detén el contenedor de MongoDB:

sudo docker stop mongodb

Luego ejecuta un nuevo contenedor con el mapeo de volumen:

sudo docker run --name mongodb -d -p 27017:27017 -v /my/own/datadir:/data/db mongo

Explicación de la nueva bandera:

Reemplaza /my/own/datadir con la ruta donde deseas guardar los datos de MongoDB en tu máquina host. Este directorio almacenará todos los datos de MongoDB, y persistirá incluso si eliminas el contenedor.

6. Asegurar la instancia de MongoDB

Ejecutar MongoDB con la configuración predeterminada puede no ser seguro para un entorno de producción. Aquí hay algunos pasos básicos para mejorar la seguridad.

6.1 Creación de un usuario administrativo

Primero, inicia el shell de MongoDB y crea un usuario administrador:

mongo

Luego ve a la base de datos admin:

use admin

Crea un usuario administrador ejecutando el siguiente comando. Asegúrate de reemplazar "username" y "password" con tu nombre de usuario y contraseña deseados:

db.createUser({ user: "username", pwd: "password", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] })

6.2 Habilitando la autenticación

Para activar la autenticación, necesitas editar el archivo de configuración. Sal del shell y detén el contenedor en ejecución:

exit
sudo docker stop mongodb

Inicia un nuevo contenedor de MongoDB con la "autenticación" habilitada:

sudo docker run --name mongodb -d -p 27017:27017 -v /my/own/datadir:/data/db mongo --auth

Ahora, cada vez que te conectes a la base de datos, requerirá autenticación.

7. Configuración avanzada

Para una configuración más avanzada, puedes proporcionar un archivo de configuración al iniciar el contenedor de MongoDB. Crea el archivo de configuración en la máquina host y pásaselo al contenedor utilizando el siguiente comando:

sudo docker run --name mongodb -d -p 27017:27017 -v /my/own/datadir:/data/db -v /my/own/config:/etc/mongo mongo --config /etc/mongo/mongod.conf

Reemplaza /my/own/config con el directorio donde se encuentra tu archivo mongod.conf. Esto te permite personalizar configuraciones como conjuntos de réplicas, particionado y registro.

8. Conclusión

Configurar MongoDB en Docker para Linux proporciona una forma flexible y eficiente de gestionar la base de datos, con el beneficio añadido de la contenedorización de Docker. Esto asegura consistencia a través de los entornos y simplifica los procesos de implementación. Siguiendo estos pasos, podrás ejecutar y asegurar MongoDB de manera efectiva en Docker.

Las características de aislamiento de Docker te permiten crear y eliminar contenedores fácilmente, simplificando mucho las pruebas y la administración. Agregar seguridad, como la persistencia de datos y la autenticación, permite aprovechar de manera segura las características robustas de MongoDB en un entorno de producción. Recuerda que con la contenedorización, saber cómo manejar el almacenamiento de datos y la configuración puede aumentar enormemente el rendimiento y la fiabilidad de tu configuración de base de datos.

Si encuentras algo incorrecto en el contenido del artículo, puedes


Comentarios