SlideShare uma empresa Scribd logo
1 de 13
Docker: Onde vivem? Do
que se alimentam?
Olá!
Eu sou Adriano
Righi
Você pode saber mais sobre mim em adrianorighi.com.
2
O que veremos?
• Breve história da virtualização
• Conceitos
• Arquitetura - VM x Containers
• Docker na prática
3
Breve história da
virtualização
• 1970 - Mainframes
• 1995 - Linux
• 1999 - VMWare
• 2003 - User Mode Linux (VPS) + LXC
• 2004 - Xen
• 2006 - Amazon EC2
• 2008 - Software-Defined Networking
• 2010 - OpenStack
• 2012 - Dotcloud -> Docker
5
Conceitos
Docker Sumarizado
• Registry
• Imagens
• Camadas
• Union Filesystems
• Container
• Processo Isolado
• Daemon
• cgroups
• Bridging
• Filesystems (Host, Layers, Imagens)
• Serviço / Api
Finalidades
• Isolamento
• Regressão com distros
• Aplicação as a Service
• Banco de Dados
• Multitenancy
• Integração contínua
6
Conceitos
Por que usar Docker?
• Poucos recursos necessários
• Rapidez
• Configuração de ambientes
• Escalabilidade
• Controle de versão de imagens
• Reversão
• Implantação rápida
Arquitetura
7
Infraestrutura
Sistema Operacional
Hypervisor
OS OS OS
App
Node
App
PHP
App
Java
Infraestrutura
Sistema Operacional
Docker Engine
Bin/Libs Bin/Libs Bin/Libs
Bin/Libs
App
Node
Bin/Libs
App
PHP
Bin/Libs
App
Java
Máquinas Virtuais - VM Containers
“
Na minha máquina funciona!
8
Docker na Prática
• Comandos básicos
• pull
• build
• ps
• create
• run
• start
• stop
• restart
• exec
• rm
9
• Argumentos
• detached (-d)
• port (-p)
• volume (-v)
• name (--name)
• STDIN open (-i)
• Pseudo-tty (-t)
• Restart (--restart)
Dockerfile
10
•FROM
•RUN
•WORKDIR
•ADD / COPY
•EXPOSE
•USER
•CMD / ENTRYPOINT
Docker na Prática
Iniciando um container com NodeJs
1. Criar imagem:
• docker build -t sainf/node .
2. Iniciar container:
• docker run -d -p 80:8080 --name sainf-example sainf/node
11
Voilà!
12
Thanks!
Perguntas?
adrianorighi.com
github.com/adrianorighi/palestra-docker-basico
13

Mais conteúdo relacionado

Mais procurados

Beneficios da virtualização
Beneficios da virtualizaçãoBeneficios da virtualização
Beneficios da virtualizaçãoKelsen Lima
 
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...tdc-globalcode
 
Filsol CE 2011 - Overview XCP - Xen Cloud Platform
Filsol CE 2011 - Overview XCP - Xen Cloud PlatformFilsol CE 2011 - Overview XCP - Xen Cloud Platform
Filsol CE 2011 - Overview XCP - Xen Cloud PlatformLorscheider Santiago
 
TDC2018SP | Trilha Containers - Linux Conteineres na unha
TDC2018SP | Trilha Containers - Linux Conteineres na unhaTDC2018SP | Trilha Containers - Linux Conteineres na unha
TDC2018SP | Trilha Containers - Linux Conteineres na unhatdc-globalcode
 
Deploying Docker Containers
Deploying Docker ContainersDeploying Docker Containers
Deploying Docker ContainersHugo Henley
 
[Cloud Summit 2010] Marco Sinhoreli - Construindo nuvens (Xen.org)
[Cloud Summit 2010] Marco Sinhoreli - Construindo nuvens (Xen.org)[Cloud Summit 2010] Marco Sinhoreli - Construindo nuvens (Xen.org)
[Cloud Summit 2010] Marco Sinhoreli - Construindo nuvens (Xen.org)Tecla Internet
 
Aula 1: Virtualização
Aula 1: VirtualizaçãoAula 1: Virtualização
Aula 1: Virtualizaçãocamila_seixas
 
Microsoft windows server 2003
Microsoft windows server 2003Microsoft windows server 2003
Microsoft windows server 2003Sara Freitas
 
Virtualização de servidores com tecnologia Linux
Virtualização de servidores com tecnologia LinuxVirtualização de servidores com tecnologia Linux
Virtualização de servidores com tecnologia LinuxFernando Costa
 
Hiperconvergência com Proxmox e Ceph
Hiperconvergência com Proxmox e CephHiperconvergência com Proxmox e Ceph
Hiperconvergência com Proxmox e CephKernel TI LTDA
 
Muito prazer, eu sou o storage!
Muito prazer, eu sou o storage!Muito prazer, eu sou o storage!
Muito prazer, eu sou o storage!Italo Santos
 
TDC2018SP | Trilha Containers - Kubernetes: como a magica acontece?
TDC2018SP | Trilha Containers - Kubernetes: como a magica acontece?TDC2018SP | Trilha Containers - Kubernetes: como a magica acontece?
TDC2018SP | Trilha Containers - Kubernetes: como a magica acontece?tdc-globalcode
 
Desenvolvendo um buscador com PHP e Elasticsearch - Fernando Silva - Tchelinu...
Desenvolvendo um buscador com PHP e Elasticsearch - Fernando Silva - Tchelinu...Desenvolvendo um buscador com PHP e Elasticsearch - Fernando Silva - Tchelinu...
Desenvolvendo um buscador com PHP e Elasticsearch - Fernando Silva - Tchelinu...Tchelinux
 

Mais procurados (20)

Beneficios da virtualização
Beneficios da virtualizaçãoBeneficios da virtualização
Beneficios da virtualização
 
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
 
Apresentação do Novo QTS 4.2
Apresentação do Novo QTS 4.2Apresentação do Novo QTS 4.2
Apresentação do Novo QTS 4.2
 
Virtualização
VirtualizaçãoVirtualização
Virtualização
 
Filsol CE 2011 - Overview XCP - Xen Cloud Platform
Filsol CE 2011 - Overview XCP - Xen Cloud PlatformFilsol CE 2011 - Overview XCP - Xen Cloud Platform
Filsol CE 2011 - Overview XCP - Xen Cloud Platform
 
TDC2018SP | Trilha Containers - Linux Conteineres na unha
TDC2018SP | Trilha Containers - Linux Conteineres na unhaTDC2018SP | Trilha Containers - Linux Conteineres na unha
TDC2018SP | Trilha Containers - Linux Conteineres na unha
 
Video aulas servidor radius com mikrotik
Video aulas servidor radius com mikrotikVideo aulas servidor radius com mikrotik
Video aulas servidor radius com mikrotik
 
Deploying Docker Containers
Deploying Docker ContainersDeploying Docker Containers
Deploying Docker Containers
 
Virtualização com Xen
Virtualização com XenVirtualização com Xen
Virtualização com Xen
 
[Cloud Summit 2010] Marco Sinhoreli - Construindo nuvens (Xen.org)
[Cloud Summit 2010] Marco Sinhoreli - Construindo nuvens (Xen.org)[Cloud Summit 2010] Marco Sinhoreli - Construindo nuvens (Xen.org)
[Cloud Summit 2010] Marco Sinhoreli - Construindo nuvens (Xen.org)
 
Virtualização
VirtualizaçãoVirtualização
Virtualização
 
Aula 1: Virtualização
Aula 1: VirtualizaçãoAula 1: Virtualização
Aula 1: Virtualização
 
Microsoft windows server 2003
Microsoft windows server 2003Microsoft windows server 2003
Microsoft windows server 2003
 
Virtualização de servidores com tecnologia Linux
Virtualização de servidores com tecnologia LinuxVirtualização de servidores com tecnologia Linux
Virtualização de servidores com tecnologia Linux
 
Virtualiza%e7%e3o(3)
Virtualiza%e7%e3o(3)Virtualiza%e7%e3o(3)
Virtualiza%e7%e3o(3)
 
Aula- Virtualização
Aula- VirtualizaçãoAula- Virtualização
Aula- Virtualização
 
Hiperconvergência com Proxmox e Ceph
Hiperconvergência com Proxmox e CephHiperconvergência com Proxmox e Ceph
Hiperconvergência com Proxmox e Ceph
 
Muito prazer, eu sou o storage!
Muito prazer, eu sou o storage!Muito prazer, eu sou o storage!
Muito prazer, eu sou o storage!
 
TDC2018SP | Trilha Containers - Kubernetes: como a magica acontece?
TDC2018SP | Trilha Containers - Kubernetes: como a magica acontece?TDC2018SP | Trilha Containers - Kubernetes: como a magica acontece?
TDC2018SP | Trilha Containers - Kubernetes: como a magica acontece?
 
Desenvolvendo um buscador com PHP e Elasticsearch - Fernando Silva - Tchelinu...
Desenvolvendo um buscador com PHP e Elasticsearch - Fernando Silva - Tchelinu...Desenvolvendo um buscador com PHP e Elasticsearch - Fernando Silva - Tchelinu...
Desenvolvendo um buscador com PHP e Elasticsearch - Fernando Silva - Tchelinu...
 

Semelhante a Docker: Onde vivem? Do que se alimentam?

Simplificando a montagem de ambientes de Dev/Testes com Docker - Interop Summ...
Simplificando a montagem de ambientes de Dev/Testes com Docker - Interop Summ...Simplificando a montagem de ambientes de Dev/Testes com Docker - Interop Summ...
Simplificando a montagem de ambientes de Dev/Testes com Docker - Interop Summ...Renato Groff
 
O que é e como devo usar o REDIS? - 1o Mobile REST Summit
O que é e como devo usar o REDIS? - 1o Mobile REST SummitO que é e como devo usar o REDIS? - 1o Mobile REST Summit
O que é e como devo usar o REDIS? - 1o Mobile REST SummitMario Guedes
 
Docker - Um capitulo à parte
Docker - Um capitulo à parteDocker - Um capitulo à parte
Docker - Um capitulo à parteMaurício Harley
 
Containers em produção!
Containers em produção!Containers em produção!
Containers em produção!Evandro Couto
 
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)Caio Candido
 
Apresentação HyperCloud GT8
Apresentação HyperCloud GT8Apresentação HyperCloud GT8
Apresentação HyperCloud GT8HyperCloud UFS
 
Workshop Microservices - Distribuindo os Microservices com Docker e Kubernetes
Workshop Microservices - Distribuindo os Microservices com Docker e KubernetesWorkshop Microservices - Distribuindo os Microservices com Docker e Kubernetes
Workshop Microservices - Distribuindo os Microservices com Docker e KubernetesRodrigo Cândido da Silva
 
Docker | Minicurso Gratuito - Azure na Prática
Docker | Minicurso Gratuito - Azure na PráticaDocker | Minicurso Gratuito - Azure na Prática
Docker | Minicurso Gratuito - Azure na PráticaRenato Groff
 
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018Renato Groff
 
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018Renato Groff
 
[Unirede] Webinar: Transportando as aplicações entre vários ambientes com Docker
[Unirede] Webinar: Transportando as aplicações entre vários ambientes com Docker[Unirede] Webinar: Transportando as aplicações entre vários ambientes com Docker
[Unirede] Webinar: Transportando as aplicações entre vários ambientes com DockerAécio Pires
 

Semelhante a Docker: Onde vivem? Do que se alimentam? (20)

.Net Core + Docker
.Net Core +  Docker.Net Core +  Docker
.Net Core + Docker
 
Simplificando a montagem de ambientes de Dev/Testes com Docker - Interop Summ...
Simplificando a montagem de ambientes de Dev/Testes com Docker - Interop Summ...Simplificando a montagem de ambientes de Dev/Testes com Docker - Interop Summ...
Simplificando a montagem de ambientes de Dev/Testes com Docker - Interop Summ...
 
O que é e como devo usar o REDIS? - 1o Mobile REST Summit
O que é e como devo usar o REDIS? - 1o Mobile REST SummitO que é e como devo usar o REDIS? - 1o Mobile REST Summit
O que é e como devo usar o REDIS? - 1o Mobile REST Summit
 
5. rodando containers docker na aws
5. rodando containers docker na aws5. rodando containers docker na aws
5. rodando containers docker na aws
 
joao_ananias_curriculo_pt_br
joao_ananias_curriculo_pt_brjoao_ananias_curriculo_pt_br
joao_ananias_curriculo_pt_br
 
Alagoas Dev Day
Alagoas Dev DayAlagoas Dev Day
Alagoas Dev Day
 
Docker - Um capitulo à parte
Docker - Um capitulo à parteDocker - Um capitulo à parte
Docker - Um capitulo à parte
 
Containers em produção!
Containers em produção!Containers em produção!
Containers em produção!
 
Docker
DockerDocker
Docker
 
iBeer #15 - Docker
iBeer #15 - DockeriBeer #15 - Docker
iBeer #15 - Docker
 
iBeer: Docker
iBeer: DockeriBeer: Docker
iBeer: Docker
 
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
 
Apresentação HyperCloud GT8
Apresentação HyperCloud GT8Apresentação HyperCloud GT8
Apresentação HyperCloud GT8
 
Workshop Microservices - Distribuindo os Microservices com Docker e Kubernetes
Workshop Microservices - Distribuindo os Microservices com Docker e KubernetesWorkshop Microservices - Distribuindo os Microservices com Docker e Kubernetes
Workshop Microservices - Distribuindo os Microservices com Docker e Kubernetes
 
Bem vindo ao Docker
Bem vindo ao DockerBem vindo ao Docker
Bem vindo ao Docker
 
Docker | Minicurso Gratuito - Azure na Prática
Docker | Minicurso Gratuito - Azure na PráticaDocker | Minicurso Gratuito - Azure na Prática
Docker | Minicurso Gratuito - Azure na Prática
 
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
 
Docker.io:
Docker.io: Docker.io:
Docker.io:
 
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
 
[Unirede] Webinar: Transportando as aplicações entre vários ambientes com Docker
[Unirede] Webinar: Transportando as aplicações entre vários ambientes com Docker[Unirede] Webinar: Transportando as aplicações entre vários ambientes com Docker
[Unirede] Webinar: Transportando as aplicações entre vários ambientes com Docker
 

Docker: Onde vivem? Do que se alimentam?

Notas do Editor

  1. VPS = Linode EC2 = Feito na África - Cidade do Cabo SDN = Isolar rede virtualizada Hipache = LoadBalance reverso (Varnish) que lê tudo do Redis (troca configuração on-the-fly)
  2. Registry = Serviço de disponibilização de imagens (pode criar um privado) Camada = Cada alteração de disco gera uma camada (download das camadas e consolidação em uma imagem) Container = Quando manda rodar algo, cria um container, com processos isolados Internamente Docker é um serviço que só fala via Unix:sockets (pode ser exposto via http também), feito em GoLang que faz toda gerência de ciclo de vida, recursos, bridging e filesystems.