Este tutorial demuestra construir e implementar una aplicación de frasco simple usando Docker. Cubriremos creando un Dockerfile, construyendo la imagen, ejecutar un contenedor e incluso empujar la imagen a Docker Hub. Para aquellos que no están familiarizados con Docker Fundaments, consulte esta publicación anterior:
comencemos con un ejemplo práctico:
Project Setup:
index.py
que contiene esta simple aplicación de frasco: # index.py
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
if __name__ == "__main__":
app.run(host="0.0.0.0", port=int("5000"), debug=True)
dockerfile
(sin extensión) con el siguiente contenido: FROM python:3.13.1-alpine3.21
WORKDIR /app
COPY . /app
RUN pip install -r requirements.txt
EXPOSE 5000
CMD ["python", "index.py"]
requirir.txt
en el directorio "frasc-app": Flask==2.3.2
Su estructura de directorio ahora debe verse así:
flask-app/
├── Dockerfile
├── index.py
└── requirements.txt
construyendo y ejecutando la imagen de Docker:
docker build -t flask-app .
docker images
docker run --name my-flask-app -d -p 5000:5000 flask-app
docker ps -a
http://127.0.0.1:5000
en su navegador o usando curl
: curl http://127.0.0.1:5000
para detener y eliminar el contenedor: docker container rm -f my-flask-app
para eliminar la imagen: docker image rm -f flask-app
presionando a Docker Hub: Antes de presionar a Docker Hub, cree una cuenta si aún no tiene una. Entonces:
etiqueta la imagen para Docker Hub (reemplazar
docker container rm -f my-flask-app
presione la imagen: docker push omerbsezer/dev-to-flask-app:latest
Este ejemplo práctico demuestra un flujo de trabajo completo para contener una aplicación simple de Python con Docker. Para obtener más tutoriales de Docker, AWS, Kubernetes, Linux, DevOps, Ansible, Machine Learning, Generation AI y SaaS Content, siga estos enlaces:
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3