From ee6b5e51c1711609436af9b083dd6eadd3119270 Mon Sep 17 00:00:00 2001 From: ayxan Date: Tue, 31 Jan 2023 21:03:07 +0400 Subject: [PATCH] Dockerfile split into prod and dev --- .dockerignore | 4 +--- Docker/Dev/Dockerfile | 6 ++++++ Docker/Dev/docker-compose.yml | 18 ++++++++++++++++++ Dockerfile => Docker/Prod/Dockerfile | 0 .../Prod/docker-compose-cloudflare.yml | 9 +++++++-- .../Prod/docker-compose.yml | 9 +++++++-- 6 files changed, 39 insertions(+), 7 deletions(-) create mode 100644 Docker/Dev/Dockerfile create mode 100644 Docker/Dev/docker-compose.yml rename Dockerfile => Docker/Prod/Dockerfile (100%) rename docker-compose-cloudflare.yml => Docker/Prod/docker-compose-cloudflare.yml (73%) rename docker-compose.yml => Docker/Prod/docker-compose.yml (82%) diff --git a/.dockerignore b/.dockerignore index 98c32e1..d876891 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,5 +1,3 @@ src/celerybeat-schedule -src/.env.example -src/db.sqlite3 -config/db/databasepostgresql_env.example +**/*.example **/__pycache__ \ No newline at end of file diff --git a/Docker/Dev/Dockerfile b/Docker/Dev/Dockerfile new file mode 100644 index 0000000..25c36dd --- /dev/null +++ b/Docker/Dev/Dockerfile @@ -0,0 +1,6 @@ +FROM python:3 +ENV PYTHONUNBUFFERED=1 +WORKDIR /code +COPY requirements.txt /code/ +RUN pip install -r requirements.txt +COPY src /code/src/ \ No newline at end of file diff --git a/Docker/Dev/docker-compose.yml b/Docker/Dev/docker-compose.yml new file mode 100644 index 0000000..c2849dd --- /dev/null +++ b/Docker/Dev/docker-compose.yml @@ -0,0 +1,18 @@ +version: "3.9" + +services: + django: + restart: always + environment: + - DJANGO_SETTINGS_MODULE=config.settings.development + build: + context: ../../ + dockerfile: Docker/Dev/Dockerfile + command: > + bash -c "python3 src/manage.py makemigrations + && python3 src/manage.py migrate + && python src/manage.py runserver 0.0.0.0:8000" + ports: + - "8000:8000" + volumes: + - ../../src:/code/src \ No newline at end of file diff --git a/Dockerfile b/Docker/Prod/Dockerfile similarity index 100% rename from Dockerfile rename to Docker/Prod/Dockerfile diff --git a/docker-compose-cloudflare.yml b/Docker/Prod/docker-compose-cloudflare.yml similarity index 73% rename from docker-compose-cloudflare.yml rename to Docker/Prod/docker-compose-cloudflare.yml index 9268581..2ee2e81 100644 --- a/docker-compose-cloudflare.yml +++ b/Docker/Prod/docker-compose-cloudflare.yml @@ -15,8 +15,13 @@ services: restart: always environment: - DJANGO_SETTINGS_MODULE=config.settings.production - build: . - command: gunicorn --chdir src --bind 0.0.0.0:8000 config.wsgi + build: + context: ../../ + dockerfile: Docker/Prod/Dockerfile + command: > + bash -c "python3 src/manage.py makemigrations + && python3 src/manage.py migrate + && gunicorn --chdir src --bind 0.0.0.0:8000 config.wsgi" ports: - "8000:8000" depends_on: diff --git a/docker-compose.yml b/Docker/Prod/docker-compose.yml similarity index 82% rename from docker-compose.yml rename to Docker/Prod/docker-compose.yml index d942ef7..4b835e8 100644 --- a/docker-compose.yml +++ b/Docker/Prod/docker-compose.yml @@ -15,8 +15,13 @@ services: restart: always environment: - DJANGO_SETTINGS_MODULE=config.settings.production - build: . - command: gunicorn --chdir src --bind 0.0.0.0:8000 config.wsgi + build: + context: ../../ + dockerfile: Docker/Prod/Dockerfile + command: > + bash -c "python3 src/manage.py makemigrations + && python3 src/manage.py migrate + && gunicorn --chdir src --bind 0.0.0.0:8000 config.wsgi" ports: - "8000:8000" depends_on: