Reputation: 48
I'm trying to deploy a Quart application to Azure App Service using a Docker container, but I'm running into an issue where the Docker container fails to start on port 8000 and disconnects.
from quart import Quart
app = Quart(__name__)
@app.route('/')
async def hello():
return 'Hello, World!'
if __name__ == '__main__':
app.run()
Startup command Used : hypercorn -b 0.0.0.0:8080 app:app
Other configurations
SCM_DO_BUILD_DURING_DEPLOYMENT=1
Deployment Type : Manual Deployment from VS Code
App service Plan : Basic - Linux
Error Faced: ERROR - Container for site has exited, failing site start ERROR - Container didn't respond to HTTP pings on port: 8080, failing site start. See container logs for debugging.
Expected Outcome:
Container needs to be started and need to also verify the startup command given was correct w.r.t to Quart
Upvotes: 0
Views: 339
Reputation: 1164
Based on the error message provided, the issue is related to the startup command.
I tried configuring the startup command that you've used, but I got the same error. So, I changed the startup command to
gunicorn -w 4 -k uvicorn.workers.UvicornWorker app:app
I created a simple Quart application and successfully deployed it to Azure App Service without any issues.
This is requirements.txt:
quart
hypercon
gunicorn
uvicorn
app .py:
import os
from quart import Quart
app = Quart(__name__
@app.route('/')
async def hello():
return 'Hello, World!'
if __name__ == '__main__':
port = int(os.environ.get("PORT", 8080))
app.run(host='0.0.0.0', port=port)
I deployed the app successfully via visual studio code extension.
configure the below startup command to azure app service.
Here's the output after deployment:
Upvotes: 1