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

Docker 101

Docker 101

Containers, o que são? De onde vem? De que se alimentam? Nesta talk iremos descobrir por que há tanto "buzz" ao redor desta palavra, suas implementações e se ela pode, de fato, lhe ajudar a trabalhar de uma maneira melhor. - O que são containers; - LXC? Rkt? Docker?; - Orquestrando containers; - Utilizando docker para desenvolvimento; - Utilizando docker em produção.

Avatar for Lucas do Amaral Saboya

Lucas do Amaral Saboya

November 12, 2016

More Decks by Lucas do Amaral Saboya

Other Decks in Technology

Transcript

  1. • Inicialmente desenvolvido por Solomon Hykes quando trabalhava na dotCloud

    • Facilita a adoção de containers no linux O que é Docker?
  2. https://docker.io Docker is an open source engine to easily create

    lightweight, portable, self-sufficient containers from any application. The same container that a developer builds and tests on a laptop can run at scale, in production on VMs, bare metal, OpenStack clusters, public clouds and more" “
  3. • 1400+ contribuidores; • Centenas de milhares de downdoads; •

    Dezenas de milhares de aplicações "containerizadas"; Popularidade do Docker Número de commits:
  4. • Faça deploy de tudo (frontend, backend, SQL, Message queue,

    etc); • Em qualquer lugar; • Com confiança; • Com escalabilidade; • Build once, write everywhere; Por que Docker?
  5. • Lightweight Linux Container (LXC) • Motor de virtualização a

    nível de SO para execução de sistemas linux isolados; • https://en.wikipedia.org/wiki/LXC; O que é LXC?
  6. • Podemos acessar via SSH; • Podemos ter acesso "root";

    • Podemos instalar bibliotecas e pacotes (yum/apt-get); • Boot time: segundos; • Footprint: 100-1000 containers em uma máquina. • Requer pouco espaço em disco(além do ocupado pelo conteúdo do container; LXC
  7. • Uma feature do kernel do linux. Nos permite controlar

    e isolar recursos como: • CPU • RAM • Disk I/O • Containers LXC fazem uso de cgroups e namespaces; Control Groups
 &
 Namespaces
  8. • Docker é uma API que opera o LXC; •

    Roda como um Daemon; • Fazendo com que possamos utilizar containers LXC facilmente; • Docker Service expõe uma API REST que é consumida pelo Docker client; Docker & LXC