¿Cómo implementar MongoDB como un contenedor Docker?

MongoDB es una excelente base de datos NoSQL que ofrece muchas características para satisfacer las necesidades más exigentes, pero la instalación de MongoDB en distribuciones Linux es bastante complicada.

MongoDB puede instalarse bien en, por ejemplo, Ubuntu 20.04; pero no existen garantía de que se inicie correctamente.

¿Qué hacer cuando no tienes tiempo para instalar y solucionar problemas de una instalación de MongoDB? Siempre puedes ir por la ruta de usar un contenedor.

Mejores cursos gratis de MongoDB

Después de todo, la implementación con un contenedor es una ruta mucho más predecible. Además, es considerablemente más fácil y puedes activarlo en cualquier máquina que admita Docker.

Si no sabes de que hablo al nombrar un “contenedor” en este artículo sobre Docker te explico todo lo que necestias saber.

¿Cómo aprender Docker? Desde cero hasta los comandos más importantes

Bien, sigamos, si necesitas tener una instancia de MongoDB en funcionamiento con fines de desarrollo, así es como vas a poder instalarlo.

Lo que necesitas para implementar MongoDB en un contenedor

Lo único que necesitas para esta implementación es una máquina que admita Docker y un usuario con permisos sudo. Por ejemplo, Ubuntu Server 22.04.

¿Cómo instalar Docker Community Edition?

En caso de que aún no tengas Docker instalado, este es el paso para hacerlo en Ubuntu Server. Lo primero que debes hacer es agregar la clave GPG oficial de Docker con:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

A continuación, agrega el repositorio oficial de 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

Instala algunas dependencias necesarias mediante estos comandos:

sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release -y

Actualiza apt con el comando:

sudo apt-get update

Finalmente, instala Docker con:

sudo apt-get install docker-ce docker-ce-cli containerd.io -y

Para finalizar, asegúrate de que tu usuario sea miembro del grupo docker con el comando:

sudo usermod -aG docker $USER

Cierra la sesión y vuelve a iniciarla para que los cambios surtan efecto.

¿Cómo implementar MongoDB con Docker?

Bien, es hora de implementar la base de datos de MongoDB. Desde la línea de comandos, extraigamos una versión de MongoDB que funcione sin problemas. Ese comando es:

docker pull mongo:3.4.4

Ahora, antes de ejecutar el comando de implementación, debes crear un volumen para la base de datos para que podamos retener los datos en caso de que algo salga mal con el contenedor. Crea el volumen con:

docker volume create mongodata

Ahora que nuestro volumen está listo, podemos implementar MongoDB con el comando:

docker run -d -v mongodata:/data/db --name mymongo --net=host mongo:3.4.4 --bind_ip 127.0.0.1 --port 27000

Puedes verificar que la implementación fue exitosa con el comando:

docker ps -a

Deberías ver algo como esto en la salida:

1a4dd5d216dc  mongo:3.4.4   "docker-entrypoint.s…"  24 minutes ago  Up 24 minutes                      mymongo

Con el contenedor en ejecución, necesitarás saber cómo acceder a él. Eso es bastante simple. Solamente debes usar el comando para acceder a tu contenedor MongoDB en ejecución, tal que así:

docker exec -it mymongo mongo localhost:27000

Luego deberías encontrarte en la consola de MongoDB, donde puedes comenzar a desarrollar tus bases de datos. Puedes salir de la consola con el comando exit y volver a ella con el comando anterior.

Si deseas detener el contenedor de MongoDB, primero debes encontrar el ID asociado mediante el comando docker ps -a y luego detenerlo aplicando el ID correspondiente al comando:

docker stop ID

Obviamente, debes sustituir ID por tu ID asociado al contenedor MongoDB que has instalado. Con el comando que te dejo a continuación vas a poder volver a iniciarlo:

docker start ID

Esto es todo lo que hay que hacer para implementar MongoDB en un contenedor de Docker, una excelente manera para que los desarrolladores de bases de datos activen rápidamente un servidor de base de datos, puedan trabajar en él y lo apaguen o encienda según les sea necesario.

¡No te olvides seguirme por redes para recibir más cosas chulas como está! 😉

Relacionado

¿Cómo aprender Docker? Desde cero hasta los comandos más importantes

Una introducción a Docker conjunto a sus comandos más importantes, centrada sobre todo en los principiantes de Docker. Otros Enlaces Interesantes: Preguntas y Respuestas sobre Docker / Enlaces de Entornos en la Nube / Cursos de Servicios en la Nube / Cursos Gratis de la Fundación Linux A continuación, vas a encontrar los conceptos más básicos de Docker, la arquitectura de Docker, los contenedores de Docker. ¡SEGUIR LEYENDO!

¿Preguntas y respuestas sobre Docker?

A continuación, se incluyen preguntas frecuentes de entrevistas de trabajo de Docker para los ingenieros de DevOps más nuevos u experimentados. Otros Enlaces Interesantes: ? ¿Qué es Docker? / ? Entornos en la Nube / ? Cursos de Servicios en la Nube / ? Cursos Gratis de la Fundación Linux 1. ¿Qué es Docker? Docker es una tecnología de contenedorización ligera de código abierto que ha ¡SEGUIR LEYENDO!

Docker vs Kubernetes: Conociendo sus diferencias

Comparativa entre dos de los entornos de ejecución basados en contenedores más utilizados por los desarrolladores. ¿Qué es Docker? Docker es una tecnología de contenedorización ligera de código abierto, que ha ganado una gran popularidad en el mundo del empaquetado de aplicaciones y la nube. La tecnología de Docker te permite automatizar la implementación de aplicaciones en contenedores ligeros y portátiles. Docker es un software informático ¡SEGUIR LEYENDO!

Cursos de Amazon Web Services Gratis y en Español

Amazon Web Services (AWS) ES la plataforma en la nube ofrecida por Amazon.com Inc ( AMZN ) y que se ha convertido en un componente gigante de la cartera de negocios del gigante del comercio electrónico. En el primer trimestre de 2020, AWS generó un ingreso récord de 10 mil millones de dólares, lo que representa el 13.5% de los ingresos totales de Amazon. AWS es ¡SEGUIR LEYENDO!

Harbormaster: Anti Kubernetes para tu servidor personal

Harbormaster es una pequeña utilidad que te permite implementar fácilmente múltiples aplicaciones Docker-Compose en un solo host. Para ello, toma una lista de las URL del repositorio de git que contienen archivos de Docker Compose y ejecuta las aplicaciones de Compose que existan. La utilidad también se encargará de actualizar y reiniciar las aplicaciones cuando cambien los repositorios. ¿Por qué Harbormaster? ¿Tienes un servidor doméstico en ¡SEGUIR LEYENDO!

Deja un comentario