Diferència entre revisions de la pàgina «21. classVRroom. Dockerització del projecte Django. - Grupo 6»
Salta a la navegació
Salta a la cerca
(Hi ha 5 revisions intermèdies del mateix usuari que no es mostren) | |||
Línia 7: | Línia 7: | ||
Acto seguido procederemos a crear los "Dockers" necesarios para poder dockeritzar esta app.<br><br> | Acto seguido procederemos a crear los "Dockers" necesarios para poder dockeritzar esta app.<br><br> | ||
− | + | ==='''Dockerfile'''=== | |
<pre># We Use an official Python runtime as a parent image | <pre># We Use an official Python runtime as a parent image | ||
Línia 34: | Línia 34: | ||
CMD ["runserver","0.0.0.0:8000"]</pre> | CMD ["runserver","0.0.0.0:8000"]</pre> | ||
− | + | ==='''Docker-compose.yml'''=== | |
<pre> GNU nano 4.8 docker-compose.yml version: '3.1' | <pre> GNU nano 4.8 docker-compose.yml version: '3.1' | ||
Línia 53: | Línia 53: | ||
</pre> | </pre> | ||
− | === | + | ==='''Otras acciones'''=== |
+ | Poner en marcha el docker. | ||
+ | |||
+ | <pre> | ||
+ | sudo docker-compose up -d --build | ||
+ | </pre> | ||
Tendremos que crear tambien un "Superuser" para poder acceder a la base de datos. | Tendremos que crear tambien un "Superuser" para poder acceder a la base de datos. | ||
<pre> | <pre> | ||
Línia 66: | Línia 71: | ||
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES | 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 | 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 | ||
− | </pre | + | </pre> |
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.<br> | 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.<br> | ||
Línia 75: | Línia 80: | ||
<pre> | <pre> | ||
root@2edf4184d570:/code# ./manage.py creategroups | root@2edf4184d570:/code# ./manage.py creategroups | ||
− | </pre> < | + | </pre> |
+ | <pre> | ||
+ | root@2edf4184d570:/code# ./manage.py migrate | ||
+ | </pre> | ||
− | ==FALLOS== | + | =='''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"'''. | 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"'''. |
Revisió de 17:08, 7 abr 2022
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.
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']