-
Notifications
You must be signed in to change notification settings - Fork 0
/
Dockerfile
51 lines (35 loc) · 867 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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
FROM python:3.8.3-alpine3.11 AS base
RUN apk add --upgrade \
tzdata \
&& rm -rf /var/cache/apk/*
ENV TZ America/Toronto
#
FROM base as builder
RUN mkdir /install
WORKDIR /install
RUN pip install pipenv
COPY Pipfile ./
RUN apk add \
git \
g++ \
libffi-dev \
libxml2 \
unixodbc-dev \
gcc \
openssl-dev \
&& rm -rf /var/cache/apk/*
RUN pipenv install --system --skip-lock
#
#
FROM builder as dev
WORKDIR /usr/src/app
ENTRYPOINT [ "gunicorn" ]
CMD ["--reload", "-w", "2", "--threads", "4", "--access-logfile", "-", "--worker-class", "gthread", "-b", "0.0.0.0:8000", "tinyurl.main" ]
#
#
FROM dev as prod
WORKDIR /usr/src/app
COPY tinyurl ./tinyurl
EXPOSE 8000
ENTRYPOINT [ "gunicorn" ]
CMD ["-w", "2", "--threads", "4", "--access-logfile", "-", "--worker-class", "gthread", "-b", "0.0.0.0:8000", "tinyurl.main" ]