Agregué fastapi a un contenedor docker que realiza tareas en segundo plano usando BackgroundTask de fastapi. Cuando ejecuto el contenedor, la página no se carga y he visto este error en los registros del escritorio de la ventana acoplable gunicorn.errors.HaltServer: <HaltServer 'Worker failed to boot.' 3> . Estoy usando docker run -d --name mycontainer -p 8080:8080 onetest para ejecutar el contenedor.
entrypoint.sh
#!/bin/bash gunicorn --worker-tmp-dir /dev/shm --config gunicorn.config.py app.main:app docker file
FROM python:3.9-slim COPY ./requirements.txt ./requirements.txt RUN pip3 install --no-cache-dir --upgrade -r ./requirements.txt COPY ./app ./app COPY ./inputs ./inputs COPY ./model ./model COPY ./tests ./tests COPY ./gunicorn.config.py ./gunicorn.config.py COPY ./Procfile ./Procfile COPY entrypoint.sh . EXPOSE 8080 RUN chmod +x entrypoint.sh CMD [ "./entrypoint.sh" ] docker_config.py
bind = "0.0.0.0:8080" workers = 4 timeout = 300 # Using Uvicorn's Gunicorn worker class worker_class = "uvicorn.workers.UvicornWorker"