Ejercicio 2: Ejecutando decide en docker-compose
De Wiki de EGC
Para ejecutar decide en docker, primero nos situaremos en el directorio docker del repositorio de decide.
Una vez situados en ese directorio, ejecutaremos
1 docker-compose up
Observaremos que nos da un error ¿Porqué se puede estar dando?
Los cambios a realizar son:
1 docker-compose.yml
2 ...
3 services:
4 db:
5 restart: always
6 container_name: decide_db
7 image: postgres:10.15-alpine
8 volumes:
9 - db:/var/lib/postgresql/data
10 networks:
11 - decide
12 environment:
13 - POSTGRES_PASSWORD=postgres
14 ...
Vemos que hemos definido una versión para la imagen y que definimos el parametro postgres_password.
1 Dockerfile
2 ...
3 from python:3.7-alpine
4
5 RUN apk add --no-cache git postgresql-dev gcc libc-dev
6 RUN apk add --no-cache gcc g++ make libffi-dev python3-dev build-base
7
8 RUN pip install gunicorn
9 RUN pip install psycopg2
10 RUN pip install ipdb
11 RUN pip install ipython
12 ...
13 OJO: CAMBIAR TAMBIEN LA URL DEL REPOSITORIO
14 ...
Vemos que hemos definido una versión de la imagen de partida
1 requirements.txt
2 ...
3 django-cors-headers==2.1.0
4 requests==2.18.4
5 django-filter==1.1.0
6 psycopg2-binary==2.7.4
7 django-rest-swagger==2.2.0
8 coverage==4.5.2
9 ...
Vemos que hemos definido una versión binaria para psycopg2 ¿Porqué se da este cambio?
1 docker-settings.py
2 ...
3
4 DATABASES = {
5 'default': {
6 'ENGINE': 'django.db.backends.postgresql',
7 'NAME': 'postgres',
8 'USER': 'postgres',
9 'PASSWORD':'postgres',
10 'HOST': 'db',
11 'PORT': 5432,
12 }
13 }
14
15 ...
Añadimos el parametro PASSWORD a la url.