21. classVRroom. Dockerització del projecte Django. - Grupo 6
Despues de realizar el fork del proyecto de los compañeros de DAM-DAW deberemos de hacer un git clone a nuestra maquina para poder trabajar sobre este proyecto.
git clone https://github.com/AlejandroMengual333/ClassVRoom
Acto seguido procederemos a crear los "Dockers" necesarios para poder dockeritzar esta app.
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 RUN apt-get install -y gcc python3-dev python3-mysqldb RUN apt-get install -y libpq-dev python-dev python3-venv # install app libs COPY requirements.txt requirements.txt RUN pip3 install --no-cache-dir -r requirements.txt # Mounts the application code to the image COPY . code # establish workdir WORKDIR /code EXPOSE 8000 # runs the development server ENTRYPOINT ["python3", "manage.py"] CMD ["creategroups.py"] CMD ["runserver","0.0.0.0:8000"]
Docker-compose.yml
GNU nano 4.8 docker-compose.yml 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:/code/db.sqlite3
Otras acciones
Poner en marcha el docker. Tendremos que crear tambien un "Superuser" para poder acceder a la base de datos.
sudo docker-compose up -d --build
Tendremos que crear tambien un "Superuser" para poder acceder a la base de datos.
./manage.py createsuperuser
Para añadir grupos y usuarios:
azureuser@VMRoom:~/ClassVRoom/classroomvr/management/commands$ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 2edf4184d570 classvroom_django_app "python3 manage.py r…" 11 minutes ago Up 11 minutes 0.0.0.0:8000->8000/tcp, :::8000->8000/tcp classvroom_django_app_1
Deberemos localizar el ID del container, entrar a este container y ejecutar el archivo que nos han facilitado para la creacion de grupos y usuarios.
azureuser@VMRoom:~/ClassVRoom/classroomvr/management/commands$ sudo docker exec -ti 2ed bash
root@2edf4184d570:/code# ./manage.py creategroups
root@2edf4184d570:/code# ./manage.py migrate
FALLOS
Una vez realizado todo esto correctamente, nos dimos cuenta que no podiamos acceder a la pagina, a los compañeros de DAM-DAW les faltó añadir una linea en su codigo en "settings,py".
# activem Django-Heroku al final de l'arxiu django_heroku.settings(locals()) # si dona error ssl https://devcenter.heroku.com/articles/getting-started-with-python#set-up del DATABASES['default']['OPTIONS']['sslmode']