Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Docker - melhorando sua vida como desenvolvedor

Docker - melhorando sua vida como desenvolvedor

Docker é uma ferramenta que auxilia o provisionamento e execução dos mais variados serviços e linguagens sem muito trabalho, usando um ambiente isolado e controlado chamado de container. Com ele, é possível gerar imagens que se comportam da mesma maneira, independente do ambiente em que estão sendo executadas. Nesta palestra pretendo apresentar uma aplicação que reproduz um cenário real, com banco de dados, webpack, servidor web, Celery, Redis, RabbitMQ e mostrar como Docker pode ajudar a gerenciar tudo isso sem dor de cabeça.

Gustavo Carvalho

April 10, 2019
Tweet

More Decks by Gustavo Carvalho

Other Decks in Programming

Transcript

  1. • Graduado em ADS • 6 trabalhando com desenvolvimento Web

    • Finge que entende de futebol no twitter Gustavo Carvalho Desenvolvedor Full Stack @gtcarvalh0 /gtsalles [email protected]
  2. Nós somos um time de especialistas de Recife. Nós ajudamos

    nossos clientes a evoluir seus produtos do jeito certo, com desenvolvimento de ponta e técnicas de UX. Saiba mais em: vintasoftware.com
  3. • Começa de uma imagem base • Instala dependências do

    SO • Seta o diretório de trabalho • Instala dependências da aplicação • Seta o comando a ser executado Dockerfile de uma aplicação Python FROM python:3.6-alpine RUN apk add --no-cache gcc \ python3-dev musl-dev jpeg-dev WORKDIR /app/ COPY requirements.txt /app/requirements.txt RUN pip install --no-cache-dir \ -r /app/requirements.txt ADD . /app/ CMD gunicorn app.wsgi -b 0.0.0.0:8000
  4. • Descreve os serviços • Variáveis de ambiente • Volumes

    • Redirecionamento de portas • Conexão entre os serviços docker-compose.yml version: '3' services: db: image: "postgres:alpine" env_file: .env volumes: - .db:/var/lib/postgresql/data web: build: . ports: - "8000:8000" volumes: - .:/app/ env_file: .env depends_on: - db