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