Grup 5 - 25 Posada en producció classVRroom dockeritzat sobre cloud extern (Azure, AWS)

De Wiket
Salta a la navegació Salta a la cerca

Primero de todo creamos un Dockerfile el cual tiene que quedar así.

# 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
# 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 ["runserver","0.0.0.0:8000"]

Después creamos un docker-compose que debe quedar así:


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

En azure tenemos que crear una regla del puerto 8000 para poder acceder al contenedor con django.

grup5_azure_django

Finalmente nos conectamos mediante la IP de azure con el puerto 8000.

grup5_azure_django_2