No caso de usar o ECS, entendo que o ideal seria distribuir a aplicação django em 3 partes:
front; back; banco de dados;
Na aula, foi gerada uma única imagem. Como eu posso separar o django para rodar esses 3 containers de forma integrada, ou seja, como um micro-serviço (mesma network e acesso aos services - trabalhando com ipvs e redirecionando a chamada pro deploy etc)?
Esse é o código do projeto:
https://github.com/andreichiro/application/tree/master
E esse é o código da Dockerfile:
EXPOSE 8000
ENTRYPOINT python manage.py runserver 0.0.0.0:8000
FROM python:latest AS run
ENV PYTHONUNBUFFERED 1
ENV PYTHONDONTWRITEBYTECODE 1
ARG DATE=$(date +%Y-%m-d%-%H%M)
ARG APPLICATION_NAME=application
LABEL maintaner="andreichiro@gmail.com"
LABEL .br.com.andreichiro-schema.date=$DATE
LABEL .br.com.andreichiro-schema.application=$APPLICATION_NAME
WORKDIR /app
RUN python3 -m venv venv
RUN source venv/bin/activate
COPY --from=build /app/manage.py .
COPY --from=build /app/application .
COPY --from=build /app/requirements.txt .
RUN pip3 install --upgrade pip
RUN pip3 install -r requirements.txt --no-cache-dir
EXPOSE 8000
CMD python manage.py runserver 0.0.0.0:8000
Entendo que eu teria de gerar uma imagem p/ index.html/sobre.html, uma pro pyspark (banco de dados que será utilizado) e uma pra aplicação em si (assim, as 3 ficam isoladas mas escaláveis). Como eu configuro essas imagens?