georef-ar-api icon indicating copy to clipboard operation
georef-ar-api copied to clipboard

Dockerizar georef-ar-api

Open federicotdn opened this issue 7 years ago • 2 comments

Dockerizar la API de Georef para facilitar su instalación en distintos ambientes. Decidir si es conveniente incluir la instalación de Elasticsearch como parte del contenedor o conjunto de contenedores.

federicotdn avatar Mar 25 '19 18:03 federicotdn

te puedo dar una mano con esto confirmame si sería un Dockerfile que levante una imagen de python3 e instale el servicio incluiría elasticsearch y kibana en un docker-compose.yml

hmassad avatar Sep 21 '19 04:09 hmassad

Quería comentar que respecto a dockerizar solo la app para desarrollo, utilizando un Elastic externo bastaría con crear/modificar config/georef.cfg y hacer un Dockerfile basicamente con esto:

FROM python:3.6-buster

WORKDIR /app

COPY . /app

RUN pip install --upgrade pip
RUN pip --no-cache-dir install -r requirements.txt

EXPOSE 5000

CMD ["make","start_dev_server"]

Para no alterar "requirements.txt", hay que usar python 3.6. El start_dev_server en el CMD obviamente es para desarrollo.

El build sería algo como: docker build -t georef-ar-api . El run sería algo como:docker run -t --name geo-ar-api -d --network host -p 5000:5000 -v $(pwd):/app georef-ar-api

El "--network" sería solo en el caso de querer usar el localhost del host. El bindeo del codigo completo (-v $(pwd):/app) obviamente es para desarrollo. Cuidado que el pwd es la ruta desde la que se está lanzando el comando, en este caso es el root del proyecto.

Para insertar los indices, podemos entrar con docker exec -it geo-ar-api bash y ejecutar make index o el comando que se quiera.

Una vez que se complete la inserción, va a funcionar la app en localhost:5000

Esta es una idea para el que lo quiera hacer, no pretente ser perfecta pero así me funciono todo.

abertuccio avatar Nov 30 '21 15:11 abertuccio