From 5f9ca9b3e597a9dfda9ffb3af25a60b2c7309986 Mon Sep 17 00:00:00 2001 From: Matthew Lemon Date: Thu, 23 May 2024 15:05:49 +0100 Subject: Ditched the redhat builder stage - Run make to build and run - Does not use volumes do database data is not retained May have to revert if the CICD kicks this out for using a Dockerhub image. --- Dockerfile | 36 ++++++++++-------------------------- Makefile | 4 ++-- 2 files changed, 12 insertions(+), 28 deletions(-) diff --git a/Dockerfile b/Dockerfile index bba15d4..dca00bd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,39 +1,23 @@ -# Builder stage -FROM registry.access.redhat.com/ubi9/python-311:1-52.1712567218 AS builder - -# Add application sources -USER 0 -COPY . /app -RUN mkdir -p /app/static/css /app/static/js /app/static/img -RUN chown -R 1001:0 /app -USER 1001 - -WORKDIR /app - -ENV DJANGO_SETTINGS_MODULE=conf.settings.base - -# Install dependencies -RUN pip install -U "pip>=24.0.0" && \ - pip install -r requirements.txt && \ - python manage.py collectstatic --noinput - -# Final stage FROM python:3.11-slim # Set working directory WORKDIR /app -# Copy from builder -COPY --from=builder /app /app +# Copy application code +COPY . /app -RUN apt update && apt install -y --no-install-recommends libpq-dev build-essential +# Install system dependencies +RUN apt-get update && apt-get install -y \ + libpq-dev \ + gcc \ + && rm -rf /var/lib/apt/lists/* -# Install packages -RUN pip install -r requirements.txt +# Install Python dependencies +RUN pip install --no-cache-dir -r requirements.txt ENV DJANGO_SETTINGS_MODULE=conf.settings.local EXPOSE 8000 -# Start app +# Start gunicorn CMD ["gunicorn", "ded.wsgi:application", "--bind", "0.0.0.0:8000"] diff --git a/Makefile b/Makefile index e0ebf25..795701d 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -all: stop create-network build-postgres run-postgres build-django run-django migrate-and-superuser +all: stop create-network build-postgres run-postgres build-django run-django CONFIG := conf.settings.local @@ -19,7 +19,7 @@ build-postgres: run-postgres: docker run -it --name postgres -d --rm -e POSTGRESQL_PASSWORD=ded -e POSTGRESQL_USER=ded -e POSTGRESQL_DATABASE=ded -p 5432:5432 --network dednetwork dso-quay-registry-quay-quay-enterprise.apps.ocp1.azure.dso.digital.mod.uk/defnucsyr-dev-team-a/postgresql:v1.0.0 run-django: - docker run -it --name ded-web -d -e DJANGO_SETTINGS_MODULE=$(CONFIG) -p 8000:8000 --network dednetwork --rm ded-web:latest + docker run -d -it --name ded-web -e DJANGO_SETTINGS_MODULE=$(CONFIG) -p 8000:8000 --network dednetwork --rm ded-web:latest test: python manage.py test migrate-and-superuser: -- cgit v1.2.3