From f0e2c3392366959fd17304405a5f46dd0024cd3d Mon Sep 17 00:00:00 2001 From: Mark Winterbottom Date: Tue, 13 Apr 2021 15:45:58 +0100 Subject: [PATCH 1/5] Added Dockerfile to project. --- Dockerfile | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 000000000..54b8febc0 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,31 @@ +FROM python:3.9-alpine3.13 +LABEL maintainer="londonappdeveloper.com" + +ENV PYTHONUNBUFFERED 1 + +COPY ./requirements.txt /tmp/requirements.txt +COPY ./requirements.dev.txt /tmp/requirements.dev.txt +COPY ./app /app +WORKDIR /app +EXPOSE 8000 + +ARG DEV=false +RUN python -m venv /py && \ + /py/bin/pip install --upgrade pip && \ + apk add --update --no-cache postgresql-client && \ + apk add --update --no-cache --virtual .tmp-build-deps \ + gcc libc-dev linux-headers postgresql-dev && \ + /py/bin/pip install -r /tmp/requirements.txt && \ + if [ $DEV = "true" ] ; \ + then echo "--DEV BUILD--" && /py/bin/pip install -r /tmp/requirements.dev.txt ; \ + fi && \ + apk del .tmp-build-deps && \ + rm -rf /tmp && \ + adduser \ + --disabled-password \ + --no-create-home \ + django-user + +ENV PATH="/py/bin:$PATH" + +USER django-user From 65f0e2d3df8b3225009cd1c9ec02b88009a17400 Mon Sep 17 00:00:00 2001 From: Mark Winterbottom Date: Tue, 13 Apr 2021 15:56:21 +0100 Subject: [PATCH 2/5] Added file. --- .dockerignore | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 .dockerignore diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 000000000..237943fbc --- /dev/null +++ b/.dockerignore @@ -0,0 +1,15 @@ +# Git +.git +.gitignore + +# Docker +.docker + +# Python +app/__pycache__/ +app/*/__pycache__/ +app/*/*/__pycache__/ +app/*/*/*/__pycache__/ +.env/ +.venv/ +venv/ From fbba7e3d0e757b47f14859e321eb96bc84bacc46 Mon Sep 17 00:00:00 2001 From: Mark Winterbottom Date: Tue, 13 Apr 2021 16:20:46 +0100 Subject: [PATCH 3/5] Removed database dependencies becuase these will be added later in the course. --- Dockerfile | 4 ---- 1 file changed, 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index 54b8febc0..510906db6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -12,14 +12,10 @@ EXPOSE 8000 ARG DEV=false RUN python -m venv /py && \ /py/bin/pip install --upgrade pip && \ - apk add --update --no-cache postgresql-client && \ - apk add --update --no-cache --virtual .tmp-build-deps \ - gcc libc-dev linux-headers postgresql-dev && \ /py/bin/pip install -r /tmp/requirements.txt && \ if [ $DEV = "true" ] ; \ then echo "--DEV BUILD--" && /py/bin/pip install -r /tmp/requirements.dev.txt ; \ fi && \ - apk del .tmp-build-deps && \ rm -rf /tmp && \ adduser \ --disabled-password \ From f4c16c18c1d4d727ee58ed08a9709b17003c90b5 Mon Sep 17 00:00:00 2001 From: Mark Winterbottom Date: Tue, 13 Apr 2021 16:46:30 +0100 Subject: [PATCH 4/5] Updated Dockerfile to exclude dev deps becuase we add this later. --- Dockerfile | 6 ------ 1 file changed, 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index 510906db6..b1dcebe25 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,19 +4,13 @@ LABEL maintainer="londonappdeveloper.com" ENV PYTHONUNBUFFERED 1 COPY ./requirements.txt /tmp/requirements.txt -COPY ./requirements.dev.txt /tmp/requirements.dev.txt COPY ./app /app WORKDIR /app EXPOSE 8000 -ARG DEV=false RUN python -m venv /py && \ /py/bin/pip install --upgrade pip && \ /py/bin/pip install -r /tmp/requirements.txt && \ - if [ $DEV = "true" ] ; \ - then echo "--DEV BUILD--" && /py/bin/pip install -r /tmp/requirements.dev.txt ; \ - fi && \ - rm -rf /tmp && \ adduser \ --disabled-password \ --no-create-home \ From 6ea14434964b35189351713b09c912df33b98aa2 Mon Sep 17 00:00:00 2001 From: Mark Winterbottom Date: Tue, 13 Apr 2021 17:03:45 +0100 Subject: [PATCH 5/5] Remove /tmp --- Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Dockerfile b/Dockerfile index b1dcebe25..b563eab33 100644 --- a/Dockerfile +++ b/Dockerfile @@ -11,6 +11,7 @@ EXPOSE 8000 RUN python -m venv /py && \ /py/bin/pip install --upgrade pip && \ /py/bin/pip install -r /tmp/requirements.txt && \ + rm -rf /tmp && \ adduser \ --disabled-password \ --no-create-home \