From 823ae5f62333b7288d2e7dfb533b2dfe969d6e27 Mon Sep 17 00:00:00 2001 From: www Date: Sun, 13 Sep 2020 18:29:00 +0000 Subject: [PATCH] docker file multistage --- Dockerfile | 30 +++++++++++++++++++++--------- fet2020/.dockerignore | 1 + fet2020/uwsgi.ini | 1 + run_container | 4 ++++ 4 files changed, 27 insertions(+), 9 deletions(-) create mode 100644 fet2020/.dockerignore create mode 100755 run_container diff --git a/Dockerfile b/Dockerfile index 527c66d6..f0053ba4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,14 +1,26 @@ +FROM tiangolo/uwsgi-nginx:python3.8-alpine AS builder + +RUN python -m venv /opt/venv +# Make sure we use the virtualenv: +ENV PATH="/opt/venv/bin:$PATH" + +RUN apk add --no-cache --virtual .build-deps ca-certificates gcc linux-headers musl-dev jpeg-dev zlib-dev libffi-dev \ +&& pip install --upgrade pip + +COPY ./fet2020/requirements.txt /app/requirements.txt + +RUN pip install -r requirements.txt + + FROM tiangolo/uwsgi-nginx:python3.8-alpine +COPY --from=builder /opt/venv /opt/venv + +# Make sure we use the virtualenv: +ENV PATH="/opt/venv/bin:$PATH" + COPY ./fet2020 /app -#RUN apk add --no-cache --virtual .build-deps \ -# ca-certificates gcc postgresql-dev linux-headers musl-dev \ -# libffi-dev jpeg-dev zlib-dev -RUN apk add --no-cache --virtual .build-deps ca-certificates gcc linux-headers musl-dev jpeg-dev zlib-dev libffi-dev - -RUN pip install --upgrade pip -RUN pip install -r requirements.txt -RUN python manage.py makemigrations +RUN python manage.py makemigrations && python manage.py makemigrations posts members RUN python manage.py migrate -RUN apk del gcc .build-deps \ No newline at end of file + diff --git a/fet2020/.dockerignore b/fet2020/.dockerignore new file mode 100644 index 00000000..48c75600 --- /dev/null +++ b/fet2020/.dockerignore @@ -0,0 +1 @@ +.git/* diff --git a/fet2020/uwsgi.ini b/fet2020/uwsgi.ini index c6ce1e0b..25dc26b0 100644 --- a/fet2020/uwsgi.ini +++ b/fet2020/uwsgi.ini @@ -7,4 +7,5 @@ processes = 3 module = fet2020.wsgi:application pidfile=/tmp/project-master.pid enable-threads = true +venv=/opt/venv socket=/tmp/app.sock \ No newline at end of file diff --git a/run_container b/run_container new file mode 100755 index 00000000..d6846bc8 --- /dev/null +++ b/run_container @@ -0,0 +1,4 @@ +docker stop bb2 +docker container rm bb2 +docker build -t test1 . +docker run --name bb2 -d -p 8080:80 test1