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, Investigador, 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.