Introdução a
Containers com
Docker
Matheus Fidelis
@fidelissauro
#GDGCabreuva
$ whoami
Matheus Scarpato Fidelis
Desenvolvedor Web PHP - Industria Fox
Blogger - Nanoshots Open Source Security
msfidelis01@gmail.com
matheus.fidelis@industriafox.com
Site: http://www.nanoshots.com.br/
Twitter: @fidelissauro
Choose your Destiny
O que é o Docker?
Ferramenta Open Source
Gerenciador de Containers LXC
(Linux Containers)
Criado pela StartUp dotCloud
Disponibilizado para a
comunidade com o nome de
Docker em em 2013 como uma
engine de Deploy
"Em qualquer computador, em qualquer infra, em qualquer núvem..."
O que é o Docker?
Basicamente é um empacotador de ambientes
Funciona independente do Hardware
Não depende de Frameworks ou linguagens específicas
Facilidade de Deploy
Escalabilidade de aplicações Web, Bancos de Dados e
demais serviços de Backend
Funciona de forma isolada da máquina Host
Permite multiplas instâncias utilizando o mesmo
Kernel
$ docker --help
LEVE
EFICIENTE
OPEN SOURCE
SEGURA
ESCALÁVEL
MULTI SERVIÇOS
KERNEL LINUX
FEITO PARA A NÚVEM
Arquitetura
VM vs Docker Container
Virtual Machine Container
Descobrindo o mundo dos Containers
Pequenos sistemas Linux minimalistas
Compartilhado Kernel do Host
Processos trabalhando isoladamente
Commits e versionamento de containers
Compartilhamento de ambientes customizados
“Mas na minha máquina funciona...”
??????????????????????????????
HANDS ON!!
Instalando o Docker em ambientes CentOS 7 / Debian 7/8
root@fidelis:~# curl -sSL https://get.docker.com | sh
Iniciando o Serviço
root@fidelis:~# /etc/init.d/docker start
root@fidelis:~# ps aux | grep docker
root@fidelis:~# docker images
CRIANDO UM CONTAINER
Criando/Baixando um Container
root@fidelis:~# docker run -it imagem processo
root@fidelis:~# docker run -it debian /bin/bash
DockerHub: https://hub.docker.com/
CRIANDO UM CONTAINER
Sair do Container (Matar)
Saindo do Container (Manter Vivo)
root@fidelis:~# “ctrl +d”
root@fidelis:~# “ctrl + pq”
Acessando o Container ativo (Attach)
root@fidelis:~# docker attach CONTEINER ID
# docker ps
HANDS ON!!
Verificando containers em execução
root@fidelis:~# docker ps
Verificando imagens disponíveis
root@fidelis:~# docker images
HANDS ON!!
Executando comandos remotamete no Container
root@fidelis:~# docker exec CONTEINERID comando
root@fidelis:~# docker exec 7263182 apt-get update
Verificando diferenças e modificações no Container
root@fidelis:~# docker diff CONTEINER ID
HANDS ON!!
Commit na Imagem
root@fidelis:~# docker commit CONTEINERID user/suaversão:1.0
Parando a Imagem e Execução
root@fidelis:~# docker stop CONTEINERID
Deletando a Imagem
root@fidelis:~# docker rm CONTEINERID
??????????????????????????????
CRIANDO UM CONTAINER
apache
Iniciando um Container com o Apache
root@fidelis:~# docker run -it matheus/apache /bin/bash
root@7c2a5bc5cabf:/# update && apt-get install apache2 php5
No container… Instale o Apache e o PHP
root@7c2a5bc5cabf:/# /etc/init.d/apache2 start
CRIANDO UM CONTAINER
apache
root@7c2a5bc5cabf:/# ip addr
CRIANDO UM CONTAINER
apache
root@fidelis:~# docker commit CONTEINERID matheus/apache:1.0
root@fidelis:~# docker run -p 8080:80 -t matheus/apache1:0
/bin/bash
root@fidelis:~# docker exec CONTEINERID /etc/init.d/apache2 start
Referências sobre Docker:
Canal LinuxTips: https://www.youtube.com/user/linuxtipscanal
Canal Rafael Gomes: https://www.youtube.com/user/rafaelmontek/videos
PHPSP: http://phpsp.org.br/tag/docker/
Livro: Primeiros Passos com Docker - Karl Matthias, Sean P. Kane 2015
Livro: Aprendendo Docker - Wellington Figueira da Silva 2016
CUPOM DOS BROTHER!!!
“NANOSHOTS”
Tudo maiúsculo, e sem as aspas :D
20% DE
DESCONTO
EM
QUALQUER
COMPRA DA
EDITORA
NOVATEC!!!
CÓDIGO PROMOCIONAL:
http://www.novatec.com.br/
Valido até o fim de 2016, eu acho…
Obrigado!!
Perguntas??
Twitter: @fidelissauro
Email: msfidelis01@gmail.com
Web: www.nanoshots.com.br

Introdução a Containers Docker

  • 1.
    Introdução a Containers com Docker MatheusFidelis @fidelissauro #GDGCabreuva
  • 2.
    $ whoami Matheus ScarpatoFidelis Desenvolvedor Web PHP - Industria Fox Blogger - Nanoshots Open Source Security msfidelis01@gmail.com matheus.fidelis@industriafox.com Site: http://www.nanoshots.com.br/ Twitter: @fidelissauro
  • 3.
  • 4.
    O que éo Docker? Ferramenta Open Source Gerenciador de Containers LXC (Linux Containers) Criado pela StartUp dotCloud Disponibilizado para a comunidade com o nome de Docker em em 2013 como uma engine de Deploy "Em qualquer computador, em qualquer infra, em qualquer núvem..."
  • 5.
    O que éo Docker? Basicamente é um empacotador de ambientes Funciona independente do Hardware Não depende de Frameworks ou linguagens específicas Facilidade de Deploy Escalabilidade de aplicações Web, Bancos de Dados e demais serviços de Backend Funciona de forma isolada da máquina Host Permite multiplas instâncias utilizando o mesmo Kernel
  • 6.
    $ docker --help LEVE EFICIENTE OPENSOURCE SEGURA ESCALÁVEL MULTI SERVIÇOS KERNEL LINUX FEITO PARA A NÚVEM Arquitetura
  • 7.
    VM vs DockerContainer Virtual Machine Container
  • 8.
    Descobrindo o mundodos Containers Pequenos sistemas Linux minimalistas Compartilhado Kernel do Host Processos trabalhando isoladamente Commits e versionamento de containers Compartilhamento de ambientes customizados “Mas na minha máquina funciona...”
  • 9.
  • 10.
    HANDS ON!! Instalando oDocker em ambientes CentOS 7 / Debian 7/8 root@fidelis:~# curl -sSL https://get.docker.com | sh Iniciando o Serviço root@fidelis:~# /etc/init.d/docker start root@fidelis:~# ps aux | grep docker root@fidelis:~# docker images
  • 11.
    CRIANDO UM CONTAINER Criando/Baixandoum Container root@fidelis:~# docker run -it imagem processo root@fidelis:~# docker run -it debian /bin/bash DockerHub: https://hub.docker.com/
  • 12.
    CRIANDO UM CONTAINER Sairdo Container (Matar) Saindo do Container (Manter Vivo) root@fidelis:~# “ctrl +d” root@fidelis:~# “ctrl + pq” Acessando o Container ativo (Attach) root@fidelis:~# docker attach CONTEINER ID # docker ps
  • 13.
    HANDS ON!! Verificando containersem execução root@fidelis:~# docker ps Verificando imagens disponíveis root@fidelis:~# docker images
  • 14.
    HANDS ON!! Executando comandosremotamete no Container root@fidelis:~# docker exec CONTEINERID comando root@fidelis:~# docker exec 7263182 apt-get update Verificando diferenças e modificações no Container root@fidelis:~# docker diff CONTEINER ID
  • 15.
    HANDS ON!! Commit naImagem root@fidelis:~# docker commit CONTEINERID user/suaversão:1.0 Parando a Imagem e Execução root@fidelis:~# docker stop CONTEINERID Deletando a Imagem root@fidelis:~# docker rm CONTEINERID
  • 16.
  • 17.
    CRIANDO UM CONTAINER apache Iniciandoum Container com o Apache root@fidelis:~# docker run -it matheus/apache /bin/bash root@7c2a5bc5cabf:/# update && apt-get install apache2 php5 No container… Instale o Apache e o PHP root@7c2a5bc5cabf:/# /etc/init.d/apache2 start
  • 18.
  • 19.
    CRIANDO UM CONTAINER apache root@fidelis:~#docker commit CONTEINERID matheus/apache:1.0 root@fidelis:~# docker run -p 8080:80 -t matheus/apache1:0 /bin/bash root@fidelis:~# docker exec CONTEINERID /etc/init.d/apache2 start
  • 20.
    Referências sobre Docker: CanalLinuxTips: https://www.youtube.com/user/linuxtipscanal Canal Rafael Gomes: https://www.youtube.com/user/rafaelmontek/videos PHPSP: http://phpsp.org.br/tag/docker/ Livro: Primeiros Passos com Docker - Karl Matthias, Sean P. Kane 2015 Livro: Aprendendo Docker - Wellington Figueira da Silva 2016
  • 21.
    CUPOM DOS BROTHER!!! “NANOSHOTS” Tudomaiúsculo, e sem as aspas :D 20% DE DESCONTO EM QUALQUER COMPRA DA EDITORA NOVATEC!!! CÓDIGO PROMOCIONAL: http://www.novatec.com.br/ Valido até o fim de 2016, eu acho…
  • 22.