Diferència entre revisions de la pàgina «Grup4 - 21. classVRroom. Dockerització del projecte Django.»

De Wiket
Salta a la navegació Salta a la cerca
Línia 48: Línia 48:
 
     volumes:
 
     volumes:
 
       - ./db.sqlite3:/lms/db.sqlite3
 
       - ./db.sqlite3:/lms/db.sqlite3
 +
volumes:
 +
  db.sqlite3:
  
  

Revisió del 16:24, 6 abr 2022

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.


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