Open federicotdn opened 5 years ago
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
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.
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.