Implantação (Web)

A fim de facilitar a implantação do sistema em modo produção, o repositório deve conter os arquivos de configuração necessários para permitir o deploy de forma distribuída na infra-estrutura usando Docker .

Build

A recomendação é que seja criado um Dockerfile (ref) com todas as instruções necessárias para criar uma imagem.

Exemplo:

# https://www.digitalocean.com/community/tutorials/docker-explained-how-to-containerize-python-web-applications
FROM ubuntu
MAINTAINER Filipe Arruda (filipe.arruda@reitoria.ifpe.edu.br)

RUN apt-get update
RUN apt-get install -y tar git curl nano wget dialog net-tools build-essential
RUN apt-get install -y python python-dev python-distribute python-pip

COPY /minha_aplicacao /minha_aplicacao

RUN pip install -r /minha_aplicacao/requirements.txt

EXPOSE 80

WORKDIR /minha_aplicacao

CMD python server.py

Para se conectar com outros serviços, como por exemplo um banco de dados, é recomendado criar um arquivo docker-compose.yml:

version: '2'
services:
 db:
   image: postgres
   volumes:
     - app_data:/var/lib/postgresql/data
 web:
   build: .
   volumes:
     - .:/minha_aplicacao
   ports:
     - "7000:80"
   depends_on:
     - db

Vale salientar que é necessário definir os volumes/diretórios que devem ser salvos fora do containter para permitir backups/restaurações/escalabilidade.

No Comments

Back to top