Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

669
Vistas
¿Hay alguna diferencia entre ejecutar fastapi desde el comando uvicorn en dockerfile y desde pythonfile?

Estoy ejecutando una API rápida y cuando estaba desarrollando tenía el siguiente código en mi archivo app.py

código en app.py:

 import uvicorn if __name__=="__main__": uvicorn.run("app.app:app",host='0.0.0.0', port=4557, reload=True, debug=True, workers=3)

así que estaba a punto de ejecutar CMD ["python3","app.py"] en mi Dockerfile.

en el ejemplo de fastapi hicieron algo como esto:

 CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "80"]

Quiero saber cuál es la diferencia entre estos dos métodos, ya que creo que ambos funcionarán.

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

No, no hay diferencia.

El método de ejecución de la línea de comandos ( uvicorn app.main:app ) y la ejecución de app.py usando el comando python ( python app.py ) son iguales. Ambos métodos están llamando a la uvicorn.main.run(...) bajo el capó.

En otras palabras, el comando uvicorn es un acceso directo a la uvicorn.run(...) .

Entonces, en tu caso, la llamada a la función

 uvicorn.run("app.app:app",host='0.0.0.0', port=4557, reload=True, debug=True, workers=3)

se puede hacer mediante la línea de comandos de uvicorn como,

 uvicorn app.app:app --host 0.0.0.0 --port 4557 --reload --debug --workers 3

Notas al margen

La opción --debug está oculta en la página de ayuda de opciones de la línea de comandos , pero se puede encontrar en el código fuente . Por lo tanto, se siente que ejecutar la aplicación usando el comando uvicorn puede considerarse como algo de producción.

over 4 years ago · Santiago Trujillo Denunciar

0

La respuesta es no . No habrá diferencia en la aplicación, la implementación con Docker solo lo hace más fácil , sin Docker, debe ejecutarlo con un servidor compatible con ASGI como Uvicorn, también es posible que desee configurar algunas herramientas para asegurarse de que se reinicie automáticamente si se detiene o accidentes En lugar de tratar de manejarlo manualmente, una imagen de Docker puede manejar todos estos trabajos automáticamente.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda