Ejercicio 2: Ejecutando decide en docker-compose

De Wiki de EGC
Revisión del 22:30 19 nov 2020 de Jagalindo (discusión | contribuciones)
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Saltar a: navegación, buscar

Para ejecutar decide en docker, primero nos situaremos en el directorio docker del repositorio de decide.

Una vez situados en ese directorio, ejecutaremos

docker-compose up

Observaremos que nos da un error ¿Porqué se puede estar dando?

Los cambios a realizar son:

docker-compose.yml
...
services:
  db:
    restart: always
    container_name: decide_db
    image: postgres:10.15-alpine
    volumes:
      - db:/var/lib/postgresql/data
    networks:
      - decide
    environment:
      - POSTGRES_PASSWORD=postgres
...

Vemos que hemos definido una versión para la imagen y que definimos el parametro postgres_password.

Dockerfile
...
from python:3.7-alpine

RUN apk add --no-cache git postgresql-dev gcc libc-dev
RUN apk add --no-cache gcc g++ make libffi-dev python3-dev build-base

RUN pip install gunicorn
RUN pip install psycopg2
RUN pip install ipdb
RUN pip install ipython
...
OJO: CAMBIAR TAMBIEN LA URL DEL REPOSITORIO
...

Vemos que hemos definido una versión de la imagen de partida

requirements.txt
...
django-cors-headers==2.1.0
requests==2.18.4
django-filter==1.1.0
psycopg2-binary==2.7.4
django-rest-swagger==2.2.0
coverage==4.5.2
...

Vemos que hemos definido una versión binaria para psycopg2 ¿Porqué se da este cambio?

docker-settings.py
...

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'postgres',
        'USER': 'postgres',
        'PASSWORD':'postgres',
        'HOST': 'db',
        'PORT': 5432,
    }
}

...

Añadimos el parametro PASSWORD a la url.