Docker: Crear una aplicación con Python y mongo DB

Tiempo de lectura: 2 minutos

Docker es una plataforma de software que permite a los desarrolladores crear y ejecutar aplicaciones en contenedores. Los contenedores son unidades de software que contienen todo lo necesario para ejecutar una aplicación, incluyendo el código, las bibliotecas y las dependencias. En este tutorial, te mostraré cómo utilizar Docker para crear una aplicación Python con MongoDB.

Paso 1: Instalar Docker

Para utilizar Docker, primero debes instalarlo en tu computadora. Puedes descargar Docker desde el sitio web oficial de Docker (https://www.docker.com/get-started).

Paso 2: Crear un contenedor de MongoDB

Para utilizar MongoDB en Docker, necesitas crear un contenedor de MongoDB. Puedes hacer esto utilizando el siguiente comando en la terminal:

docker run --name mongo-db -d mongo

Este comando creará un contenedor de MongoDB llamado «mongo-db».

Paso 3: Crear una aplicación Python

Para crear una aplicación Python que utilice MongoDB en Docker, necesitas crear un archivo Dockerfile. El archivo Dockerfile define cómo se construirá el contenedor de la aplicación. Aquí está un ejemplo de un archivo Dockerfile para una aplicación Python con MongoDB:

FROM python:3.9

WORKDIR /app

COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt

COPY . .

ENV MONGO_DB_URL mongodb://mongo-db:27017/mydatabase

CMD [ "python", "./app.py" ]

Este Dockerfile utiliza la imagen de Python 3.9 como base. Copia los archivos de la aplicación en el directorio de trabajo /app y luego instala las dependencias utilizando el archivo requirements.txt. Luego define la variable de entorno MONGO_DB_URL, que especifica la URL de la base de datos de MongoDB, y finalmente ejecuta el archivo app.py.

Paso 4: Crear la aplicación Python

Ahora que tienes el Dockerfile, puedes crear la aplicación Python. Aquí está un ejemplo básico de una aplicación Python que utiliza MongoDB:

from pymongo import MongoClient

client = MongoClient("mongodb://mongo-db:27017/")
db = client["mydatabase"]

collection = db["users"]
collection.insert_one({"name": "John", "age": 25})

print("Usuario insertado en la base de datos.")

Este código crea una conexión a la base de datos MongoDB utilizando la URL definida en la variable de entorno MONGO_DB_URL. Luego inserta un documento en la colección «users» y finalmente imprime un mensaje en la consola.

Paso 5: Construir y ejecutar el contenedor

Ahora que tienes el Dockerfile y la aplicación Python, puedes construir el contenedor de la aplicación utilizando el siguiente comando en la terminal:

docker build -t myapp .

Este comando construirá el contenedor de la aplicación utilizando el Dockerfile y le asignará el nombre «myapp».

Finalmente, puedes ejecutar el contenedor utilizando el siguiente comando en la terminal:

docker run --name myapp --link mongo-db:mongo-db myapp

Este comando ejecutará el contenedor de la aplicación y lo vinculará al contenedor de MongoDB que creaste anteriormente. Ahora deberías ver el mensaje «Usuario insertado en la base de datos» en la consola.

Deja un comentario