Grup4 - 21. classVRroom. Dockerització del projecte Django.

De Wiket
Salta a la navegació Salta a la cerca

Una vez hecho el Fork del proyecto ClassVRroom del grupo 2 de AWS2, vamos a proceder a dockerizarlo, para ello hemos creado un Dockerfile el cual podemos ver en la parte inferior, como podemos ver exponemos el puerto 8000.

'LO HACEMOS CON DB.SQLITE, NORMALMENTE SE UTILIZA PARA TESTEAR, PERO COMO LOS DESARROLLADORES HAN CONFIGURADO EL SETTINGS DE MANERA QUE SEA CON db.sqlite3 VAMOS A DEJARLO IGUAL Y NO LO HAREMOS CON MYSQL.'

Last.png


Dockerfile


# We Use an official Python runtime as a parent image
FROM python:3.8-slim

# install db libs
RUN apt-get update
RUN apt-get install -y default-mysql-client libmariadb-dev
RUN apt-get install -y libmariadb-dev-compat gcc gdal-bin libjpeg-dev

# install app libs
COPY requirements.txt requirements.txt
RUN pip3 install --no-cache-dir -r requirements.txt
#copy directory principal

COPY lms /lms


# establish workdir

WORKDIR /lms
EXPOSE 8000

# runs the development server
ENTRYPOINT ["python3","manage.py"]
CMD ["runserver","0.0.0.0:8000"]

También hemos creado un docker-compose.yml, en el cual establecemos la configuración de la DB y de la página, adjuntamos el contenido del documento a continuación


Docker-compose


version: '3.1'
services:
  django_app:
    build: .
    restart: always
    ports:
      - 8000:8000
    environment:
      - DATABASE_URL=sqlite:///db.sqlite3
      - DEBUG=False
      - SECRET_KEY=asecretkeyblabla
    volumes:
      - ./db.sqlite3:/lms/db.sqlite3
volumes:
  db.sqlite3:


Una vez puesta en marcha el docker:


./manage.py migrate
./manage.py initvroom
./manage.py createsuperuser

Finalmente como podemos ver en la imagen inferior hemos conseguido Dockerizar y poner en funcionamiento el Docker con la aplicación


Djangoenprod.png