Implemented docker to work for better CI/CD

This commit is contained in:
Ceferino Patino 2022-08-07 22:16:10 -05:00
commit db91a9964a
5 changed files with 95 additions and 0 deletions

1
.dockerignore Normal file
View file

@ -0,0 +1 @@
venv

8
Dockerfile Normal file
View file

@ -0,0 +1,8 @@
# syntax=docker/dockerfile:1
FROM python:3.10.6-slim-buster
RUN apt update && apt install build-essential default-libmysqlclient-dev -y
WORKDIR /app
COPY requirements.txt requirements.txt
RUN python -m pip install -r requirements.txt
COPY . .
EXPOSE 8000/tcp

35
docker-compose.prod.yml Normal file
View file

@ -0,0 +1,35 @@
version: '3.8'
name: 'collegiate-housewars'
services:
app:
restart: unless-stopped
build:
context: .
ports:
- 8000:8000
volumes:
- ./:/app
networks:
- housewars
env_file: .env
environment:
DJANGO_SETTINGS_MODULE: "CollegiateHouseWars.settings.prod"
depends_on:
- mysqldb
mysqldb:
restart: unless-stopped
image: mysql:5.7
ports:
- 3306:3306
volumes:
- housewars-mysql:/var/lib/mysql
networks:
- housewars
environment:
MYSQL_ROOT_PASSWORD: "${DATABASE_PASSWORD}"
MYSQL_DATABASE: prod
volumes:
housewars-mysql:
networks:
housewars: {}

16
docker-compose.test.yml Normal file
View file

@ -0,0 +1,16 @@
version: '3.8'
name: 'collegiate-housewars'
services:
app:
restart: unless-stopped
build:
context: .
ports:
- 8000:8000
volumes:
- ./:/app
- housewars-sqlite3:/var/www/housewars/db
env_file: .env
volumes:
housewars-sqlite3:

35
docker-compose.yml Normal file
View file

@ -0,0 +1,35 @@
version: '3.8'
name: 'collegiate-housewars'
services:
app:
restart: unless-stopped
build:
context: .
ports:
- 8000:8000
volumes:
- ./:/app
networks:
- housewars
env_file: .env
environment:
DJANGO_SETTINGS_MODULE: "CollegiateHouseWars.settings.dev"
depends_on:
- mysqldb
mysqldb:
restart: unless-stopped
image: mysql:5.7
ports:
- 3306:3306
volumes:
- housewars-mysql:/var/lib/mysql
networks:
- housewars
environment:
MYSQL_ROOT_PASSWORD: "${DATABASE_PASSWORD}"
MYSQL_DATABASE: prod
volumes:
housewars-mysql:
networks:
housewars: {}