-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
dockerfile
36 lines (28 loc) · 973 Bytes
/
dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
ARG python_version=3.9
ARG publish_target=$python_version
ARG package_version
FROM ghcr.io/multi-py/python-uvicorn:py$publish_target-$package_version as uvicorn
ARG python_version
ARG publish_target
ARG package_version
FROM ghcr.io/multi-py/python-gunicorn:py$publish_target-LATEST
# Add args to container scope.
ARG publish_target
ARG python_version
ARG package
ARG package_version
ARG maintainer=""
ARG TARGETPLATFORM=""
LABEL python=$python_version
LABEL package=$package
LABEL maintainer=$maintainer
LABEL org.opencontainers.image.description="python:$publish_target $package:$package_version $TARGETPLATFORM"
COPY --from=uvicorn /usr/local/lib/python${python_version}/site-packages/* /usr/local/lib/python${python_version}/site-packages/
# Startup Script
COPY ./assets/start.sh /start.sh
RUN chmod +x /start.sh
# Example application so container "works" when run directly.
COPY ./assets/main.py /app/main.py
WORKDIR /app/
ENV PYTHONPATH=/app
CMD ["/start.sh"]