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

Conteinerizando suas aplicações python

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

Conteinerizando suas aplicações python

Avatar for Hudson Brendon

Hudson Brendon

December 12, 2015
Tweet

More Decks by Hudson Brendon

Other Decks in Programming

Transcript

  1. • Fácil de começar a desenvolver; • Você pode usar

    em Windows, Linux ou Mac • Se funciona na sua máquina: ◦ vai funcionar na máquina de todos; ◦ vai passar no build e vai funcionar em produção; • Fácil de montar o ambiente; • Fácil de estruturar a arquitetura; • Sem conflito entre diferentes projetos; • Rápido, Muito, muito, muito rápido.
  2. • Fácil de colocar em produção; • É trivial montar

    ambientes padronizados para desenvolvimento, e produção; • Se passou na build vai funcionar em produção; • É fácil escalar; • É fácil dar prioridade para uma aplicação sobre outra; • Permite aumentar a densidade de uma máquina.
  3. • Disponível em github.com/docker; • Apache2 (permissiva, você detem uma

    licença para fazer oque quiser); • Escrito em Go; • Monetização atravéz de serviços adicionais opcionais e que você pode contribuir por conta própria se quiser; • 1200+ contribuidores; • Diversos projetos adicionais (composer, libcontainer, swarm, etc).
  4. • É o “código fonte” de uma imagem; • É

    uma maneira de criar imagens, é a melhor maneira; • Fácil de saber o que há em uma imagem: leia o Dockerfile; • Você indica a imagem pai, arquivos para adicionar, comandos para rodar ao criar a imagem, o comando que vai rodar a imagem em si, etc; • Compilado com ‘docker build’; • .dockerignore.
  5. Um Dockerfile FROM ubuntu:14.04 MAINTAINER Hudson Brendon <[email protected]> # pip

    requirements ADD /requirements/requirements.txt /home/requirements/requirements.txt # update e upgrade RUN apt-get -yq update && apt-get -yq upgrade # enstall pre-requisites RUN apt-get -yq install build-essential python-pip python-dev git vim # pip install packages RUN pip install -r /home/requirements/requirements.txt # expose the port EXPOSE 8000 CMD ["/bin/bash"]