diff --git a/README.md b/README.md index 870afe3d..10f9889d 100644 --- a/README.md +++ b/README.md @@ -2,10 +2,13 @@ ## Supported tags and respective `Dockerfile` links -* [`python3.8`, `latest` _(Dockerfile)_](https://github.com/tiangolo/uvicorn-gunicorn-docker/blob/master/docker-images/python3.8.dockerfile) -* [`python3.7`, _(Dockerfile)_](https://github.com/tiangolo/uvicorn-gunicorn-docker/blob/master/docker-images/python3.7.dockerfile) +* [`python3.9` _(Dockerfile)_](https://github.com/tiangolo/uvicorn-gunicorn-docker/blob/master/docker-images/python3.9.dockerfile) +* [`python3.8` _(Dockerfile)_](https://github.com/tiangolo/uvicorn-gunicorn-docker/blob/master/docker-images/python3.8.dockerfile) +* [`python3.7` _(Dockerfile)_](https://github.com/tiangolo/uvicorn-gunicorn-docker/blob/master/docker-images/python3.7.dockerfile) * [`python3.6` _(Dockerfile)_](https://github.com/tiangolo/uvicorn-gunicorn-docker/blob/master/docker-images/python3.6.dockerfile) +* [`python3.9-slim` _(Dockerfile)_](https://github.com/tiangolo/uvicorn-gunicorn-docker/blob/master/docker-images/python3.9-slim.dockerfile) * [`python3.8-slim` _(Dockerfile)_](https://github.com/tiangolo/uvicorn-gunicorn-docker/blob/master/docker-images/python3.8-slim.dockerfile) +* [`python3.9-alpine3.13` _(Dockerfile)_](https://github.com/tiangolo/uvicorn-gunicorn-docker/blob/master/docker-images/python3.8-alpine3.10.dockerfile) * [`python3.8-alpine3.10` _(Dockerfile)_](https://github.com/tiangolo/uvicorn-gunicorn-docker/blob/master/docker-images/python3.8-alpine3.10.dockerfile) * [`python3.7-alpine3.8` _(Dockerfile)_](https://github.com/tiangolo/uvicorn-gunicorn-docker/blob/master/docker-images/python3.7-alpine3.8.dockerfile) * [`python3.6-alpine3.8` _(Dockerfile)_](https://github.com/tiangolo/uvicorn-gunicorn-docker/blob/master/docker-images/python3.6-alpine3.8.dockerfile) diff --git a/docker-images/python3.9-alpine3.13.dockerfile b/docker-images/python3.9-alpine3.13.dockerfile new file mode 100644 index 00000000..93e83b77 --- /dev/null +++ b/docker-images/python3.9-alpine3.13.dockerfile @@ -0,0 +1,26 @@ +FROM python:3.9-alpine3.13 + +LABEL maintainer="Sebastian Ramirez " + +RUN apk add --no-cache --virtual .build-deps gcc libc-dev make \ + && pip install --no-cache-dir "uvicorn[standard]" gunicorn \ + && apk del .build-deps gcc libc-dev make + +COPY ./start.sh /start.sh +RUN chmod +x /start.sh + +COPY ./gunicorn_conf.py /gunicorn_conf.py + +COPY ./start-reload.sh /start-reload.sh +RUN chmod +x /start-reload.sh + +COPY ./app /app +WORKDIR /app/ + +ENV PYTHONPATH=/app + +EXPOSE 80 + +# Run the start script, it will check for an /app/prestart.sh script (e.g. for migrations) +# And then will start Gunicorn with Uvicorn +CMD ["/start.sh"] diff --git a/docker-images/python3.9-slim.dockerfile b/docker-images/python3.9-slim.dockerfile new file mode 100644 index 00000000..4e159daa --- /dev/null +++ b/docker-images/python3.9-slim.dockerfile @@ -0,0 +1,24 @@ +FROM python:3.9-slim + +LABEL maintainer="Sebastian Ramirez " + +RUN pip install --no-cache-dir "uvicorn[standard]" gunicorn + +COPY ./start.sh /start.sh +RUN chmod +x /start.sh + +COPY ./gunicorn_conf.py /gunicorn_conf.py + +COPY ./start-reload.sh /start-reload.sh +RUN chmod +x /start-reload.sh + +COPY ./app /app +WORKDIR /app/ + +ENV PYTHONPATH=/app + +EXPOSE 80 + +# Run the start script, it will check for an /app/prestart.sh script (e.g. for migrations) +# And then will start Gunicorn with Uvicorn +CMD ["/start.sh"] diff --git a/docker-images/python3.9.dockerfile b/docker-images/python3.9.dockerfile new file mode 100644 index 00000000..df885a35 --- /dev/null +++ b/docker-images/python3.9.dockerfile @@ -0,0 +1,24 @@ +FROM python:3.9 + +LABEL maintainer="Sebastian Ramirez " + +RUN pip install --no-cache-dir "uvicorn[standard]" gunicorn + +COPY ./start.sh /start.sh +RUN chmod +x /start.sh + +COPY ./gunicorn_conf.py /gunicorn_conf.py + +COPY ./start-reload.sh /start-reload.sh +RUN chmod +x /start-reload.sh + +COPY ./app /app +WORKDIR /app/ + +ENV PYTHONPATH=/app + +EXPOSE 80 + +# Run the start script, it will check for an /app/prestart.sh script (e.g. for migrations) +# And then will start Gunicorn with Uvicorn +CMD ["/start.sh"]