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.
Ingeniero en Informática, me encanta crear cosas o arreglarlas y darles una nueva vida. Escritor y poeta. Más de 20 APPs publicadas y un libro en Amazon.