SlideShare uma empresa Scribd logo
1 de 26
Baixar para ler offline
Docker
Minicurso: Introdução ao Docker
SNCT - Semana Nacional de Ciência e Tecnologia 2017
Hylson Vescovi Netto
IFC Blumenau - 26/10/2017, 14hs às 18hs, Lab.D06
1 / 26
Docker
Introdução
Virtualização e computação em nuvens
Máquinas virtuais (MV)
Disponibilização das MV’s na Internet: provedores em
nuvem.
Rápido provisionamento de recursos
Elasticidade de recursos.
Custos sob demanda.
2 / 26
Docker
Introdução
Contêineres
Um contêiner é um conjunto de processos isolados de outros
processos ou contêineres executando no sistema
[Tarasov et al., 2017]. Contêineres fornecem um
provisionamento melhor do que máquinas virtuais.
Virtualização em nível de sistema: comando chroot do
Linux.
Sistema de arquivo em camadas: imagens pequenas.
3 / 26
Docker
Introdução
Tecnologias da virtualização em nível de sistema (disponíveis no
kernel do linux)
namespaces: consiste na alocação de recursos para um
processo sob a marcação de um nome específico (um
rótulo). A partir de um rótulo não se pode enxergar
recursos disponíveis para outros rótulos: provê
isolamento.
cgroups: provê o gerenciamento de recursos disponíveis a
um contêiner. Permite definir, por exemplo, que um
contêiner vai fazer uso de 128MB de RAM. Pode-se
adicionar recursos na medida do necessário: provê
elasticidade.
[Anderson, 2015]
4 / 26
Docker
Introdução
Histórico dos contêineres
1
1
https://www.slideshare.net/davidcurrie/
ibm-websphere-application-server-traditional-and-docker
5 / 26
Docker
Introdução
Histórico dos contêineres (II)
2
2
https://secure.meetupstatic.com/photos/event/8/c/3/e/
highres_416315902.jpeg
6 / 26
Docker
Introdução
Histórico dos contêineres (III)
VServer linux: http://linux-vserver.org
Warden: https://cloudfoundry.org/
lmctfy: versão aberta de implementação de contêiner da
Google. Migrada para a libcontainer em Maio de 2015.
3
3
http://2.bp.blogspot.com/-dKDM5OpKpGk/VMNd_l3_KQI/
AAAAAAAAABg/t6EsdvqqI8Q/s1600/LXC%2BTools.tiff
7 / 26
Docker
Introdução
Histórico do docker
4
4
https://www.slideshare.net/davidcurrie/
ibm-websphere-application-server-traditional-and-docker
8 / 26
Docker
Introdução
Matrix of Hell
5
5
https://image.slidesharecdn.com/
dockerlpc2014cristian-141022130848-conversion-gate02/95/
docker-and-the-linux-kernel-3-638.jpg?cb=1413983410
9 / 26
Docker
Introdução
Another matrix of Hell
6
6
https://image.slidesharecdn.com/
dockerlpc2014cristian-141022130848-conversion-gate02/95/
docker-and-the-linux-kernel-4-638.jpg?cb=1413983410
10 / 26
Docker
Introdução
Docker eliminates the matrix of Hell
7
7
http://pointful.github.io/docker-intro/docker-img/
eliminates-matrix-from-hell.png
11 / 26
Docker
Introdução
Utilização do docker
8
8
https://www.datadoghq.com/docker-adoption/
12 / 26
Docker
Introdução
Utilização do docker (II)
9
9
https://www.datadoghq.com/docker-adoption/
13 / 26
Docker
Introdução
Utilização do docker (III)
10
10
https://www.datadoghq.com/docker-adoption/
14 / 26
Docker
Introdução
Arquitetura de máquinas virtuais e contêineres
11
11
https://www.serverpronto.com/spu/wp-content/uploads/
2016/05/MJHfm1c.jpg
15 / 26
Docker
Introdução
Arquitetura de máquinas virtuais e contêineres (II)
12
12
[Beserra et al., 2015]
16 / 26
Docker
Introdução
Desempenho de contêineres: tempo de inicialização
13
13
[Seo et al., 2014]
17 / 26
Docker
Introdução
Desempenho de contêineres: rodando mysql
14
14
[Felter et al., 2015]
18 / 26
Docker
Introdução
Desempenho de contêineres: rede
15
15
[Kumar and Kurhekar, 2016]
19 / 26
Docker
Introdução
Contêineres na Amazon
16
16
https://aws.amazon.com/pt/ecs/
20 / 26
Docker
Introdução
Contêineres na Google
17
17
https://cloud.google.com/container-engine/?hl=pt-br
21 / 26
Docker
Introdução
Conclusões
Uso de contêineres é uma tendência.
Uso de contêineres é uma realidade.
Vamos praticar!
Obtenha o roteiro e estes slides em:
www.hylson.com/new/tmp/SNCT2017
Avalie este minicurso em www.hylson.com/avalie
A senha é: docker
22 / 26
Docker
Introdução
Referências: I
Anderson, C. (2015).
Docker [software engineering].
IEEE Software, 32(3):102–c3.
Beserra, D., Moreno, E. D., Endo, P. T., Barreto, J., Sadok,
D., and Fernandes, S. (2015).
Performance analysis of lxc for hpc environments.
In Complex, Intelligent, and Software Intensive Systems
(CISIS), 2015 Ninth International Conference on, pages
358–363. IEEE.
23 / 26
Docker
Introdução
Referências: II
Felter, W., Ferreira, A., Rajamony, R., and Rubio, J. (2015).
An updated performance comparison of virtual machines
and linux containers.
In Performance Analysis of Systems and Software
(ISPASS), 2015 IEEE International Symposium On, pages
171–172. IEEE.
Kumar, K. and Kurhekar, M. (2016).
Economically efficient virtualization over cloud using docker
containers.
In Cloud Computing in Emerging Markets (CCEM), 2016
IEEE International Conference on, pages 95–100. IEEE.
24 / 26
Docker
Introdução
Referências: III
Seo, K.-T., Hwang, H.-S., Moon, I.-Y., Kwon, O.-Y., and
Kim, B.-J. (2014).
Performance comparison analysis of linux container and
virtual machine for building cloud.
Advanced Science and Technology Letters, 66:105–111.
Tarasov, V., Rupprecht, L., Skourtis, D., Warke, A.,
Hildebrand, D., Mohamed, M., Mandagere, N., Li, W.,
Rangaswami, R., and Zhao, M. (2017).
In search of the ideal storage configuration for docker
containers.
25 / 26
FIM
Obrigado!
hylson.com

Mais conteúdo relacionado

Mais procurados

Docker | Meetspark - #2
Docker | Meetspark - #2Docker | Meetspark - #2
Docker | Meetspark - #2Lucas Martins
 
Orchestrando na linha
Orchestrando na linhaOrchestrando na linha
Orchestrando na linhamatheuscmpm
 
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...Renato Groff
 
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020Renato Groff
 
Docker - minicurso utfpr 2017
Docker -  minicurso utfpr 2017Docker -  minicurso utfpr 2017
Docker - minicurso utfpr 2017Fabio Janiszevski
 
Aplicações poderosas e elegantes aprenda a usar Kubernetes
Aplicações poderosas e elegantes aprenda a usar KubernetesAplicações poderosas e elegantes aprenda a usar Kubernetes
Aplicações poderosas e elegantes aprenda a usar KubernetesValdomiro Bilharvas
 
Estendendo o kubernetes
Estendendo o kubernetesEstendendo o kubernetes
Estendendo o kubernetesRicardo Katz
 
Usp codelabs (docker)
Usp codelabs (docker)Usp codelabs (docker)
Usp codelabs (docker)TechCobli
 
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...Renato Groff
 
Introdução a Containers Docker
Introdução a Containers DockerIntrodução a Containers Docker
Introdução a Containers DockerMatheus Fidelis
 
Primeiros passos com o Docker
Primeiros passos com o DockerPrimeiros passos com o Docker
Primeiros passos com o DockerWebSix
 

Mais procurados (20)

Docker
DockerDocker
Docker
 
Olá docker
Olá dockerOlá docker
Olá docker
 
Introdução à plataforma Docker
Introdução à plataforma DockerIntrodução à plataforma Docker
Introdução à plataforma Docker
 
Docker | Meetspark - #2
Docker | Meetspark - #2Docker | Meetspark - #2
Docker | Meetspark - #2
 
O que é docker?
O que é docker?O que é docker?
O que é docker?
 
O que é Docker?
O que é Docker?O que é Docker?
O que é Docker?
 
Docker compose
Docker composeDocker compose
Docker compose
 
Orchestrando na linha
Orchestrando na linhaOrchestrando na linha
Orchestrando na linha
 
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...
 
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020
 
Docker - minicurso utfpr 2017
Docker -  minicurso utfpr 2017Docker -  minicurso utfpr 2017
Docker - minicurso utfpr 2017
 
Apresentação docker
Apresentação dockerApresentação docker
Apresentação docker
 
Aplicações poderosas e elegantes aprenda a usar Kubernetes
Aplicações poderosas e elegantes aprenda a usar KubernetesAplicações poderosas e elegantes aprenda a usar Kubernetes
Aplicações poderosas e elegantes aprenda a usar Kubernetes
 
Estendendo o kubernetes
Estendendo o kubernetesEstendendo o kubernetes
Estendendo o kubernetes
 
Usp codelabs (docker)
Usp codelabs (docker)Usp codelabs (docker)
Usp codelabs (docker)
 
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...
 
Introdução a Containers Docker
Introdução a Containers DockerIntrodução a Containers Docker
Introdução a Containers Docker
 
Primeiros passos com o Docker
Primeiros passos com o DockerPrimeiros passos com o Docker
Primeiros passos com o Docker
 
Introdução ao docker
Introdução ao dockerIntrodução ao docker
Introdução ao docker
 
Apresentacao docker
Apresentacao dockerApresentacao docker
Apresentacao docker
 

Semelhante a Introdução ao Docker

Curso de Verão - Aula 02 - Orquestração de Contêineres
Curso de Verão - Aula 02 - Orquestração de ContêineresCurso de Verão - Aula 02 - Orquestração de Contêineres
Curso de Verão - Aula 02 - Orquestração de ContêineresGuilhermeJorgeAragod
 
Apresentação Docker
Apresentação DockerApresentação Docker
Apresentação DockerAndré Justi
 
Docker e suas tecnologias por @cesarnog
Docker e suas tecnologias por @cesarnogDocker e suas tecnologias por @cesarnog
Docker e suas tecnologias por @cesarnogCesar Augusto Nogueira
 
Treinamento Docker Básico
Treinamento Docker BásicoTreinamento Docker Básico
Treinamento Docker BásicoAndré Justi
 
Re pensando-virtualização-através-linux containers
Re pensando-virtualização-através-linux containersRe pensando-virtualização-através-linux containers
Re pensando-virtualização-através-linux containersFrancisco Gonçalves
 
Orquestrando ambientes com docker e kubernetes
Orquestrando ambientes com docker e kubernetes	Orquestrando ambientes com docker e kubernetes
Orquestrando ambientes com docker e kubernetes Rhuan Karlus Silva
 
Docker basicão e sem mistérios
Docker basicão e sem mistériosDocker basicão e sem mistérios
Docker basicão e sem mistériosIsaac Maciel
 
ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018
ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018
ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018Renato Groff
 
Docker: Uso no dia a dia de desenvolvimento
Docker: Uso no dia a dia de desenvolvimentoDocker: Uso no dia a dia de desenvolvimento
Docker: Uso no dia a dia de desenvolvimentoMarcela Carvalho
 
Introdução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfIntrodução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfdadalt1
 
Desenvolvimento em .NET utilizando Docker - Meetup 8 Itu Developers
Desenvolvimento em .NET utilizando Docker - Meetup 8 Itu DevelopersDesenvolvimento em .NET utilizando Docker - Meetup 8 Itu Developers
Desenvolvimento em .NET utilizando Docker - Meetup 8 Itu DevelopersDextra Sistemas / Etec Itu
 
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
 
Docker: Introdução à Conteinerização de Apps e Nuvem.
Docker: Introdução à Conteinerização de Apps e Nuvem.Docker: Introdução à Conteinerização de Apps e Nuvem.
Docker: Introdução à Conteinerização de Apps e Nuvem.Marcel Cattaneo
 

Semelhante a Introdução ao Docker (20)

Curso de Verão - Aula 02 - Orquestração de Contêineres
Curso de Verão - Aula 02 - Orquestração de ContêineresCurso de Verão - Aula 02 - Orquestração de Contêineres
Curso de Verão - Aula 02 - Orquestração de Contêineres
 
Apresentação Docker
Apresentação DockerApresentação Docker
Apresentação Docker
 
Docker e suas tecnologias
Docker e suas tecnologiasDocker e suas tecnologias
Docker e suas tecnologias
 
Docker e suas tecnologias por @cesarnog
Docker e suas tecnologias por @cesarnogDocker e suas tecnologias por @cesarnog
Docker e suas tecnologias por @cesarnog
 
Treinamento Docker Básico
Treinamento Docker BásicoTreinamento Docker Básico
Treinamento Docker Básico
 
Docker
DockerDocker
Docker
 
Re pensando-virtualização-através-linux containers
Re pensando-virtualização-através-linux containersRe pensando-virtualização-através-linux containers
Re pensando-virtualização-através-linux containers
 
Iniciando com docker
Iniciando com dockerIniciando com docker
Iniciando com docker
 
Orquestrando ambientes com docker e kubernetes
Orquestrando ambientes com docker e kubernetes	Orquestrando ambientes com docker e kubernetes
Orquestrando ambientes com docker e kubernetes
 
Docker basicão e sem mistérios
Docker basicão e sem mistériosDocker basicão e sem mistérios
Docker basicão e sem mistérios
 
DevOpsDays Brasilia 2017
DevOpsDays Brasilia 2017DevOpsDays Brasilia 2017
DevOpsDays Brasilia 2017
 
Docker para iniciantes
Docker para iniciantesDocker para iniciantes
Docker para iniciantes
 
ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018
ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018
ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018
 
Docker: Uso no dia a dia de desenvolvimento
Docker: Uso no dia a dia de desenvolvimentoDocker: Uso no dia a dia de desenvolvimento
Docker: Uso no dia a dia de desenvolvimento
 
Usando Docker no desenvolvimento .NET
Usando Docker no desenvolvimento .NETUsando Docker no desenvolvimento .NET
Usando Docker no desenvolvimento .NET
 
Introdução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfIntrodução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdf
 
Oficina docker
Oficina dockerOficina docker
Oficina docker
 
Desenvolvimento em .NET utilizando Docker - Meetup 8 Itu Developers
Desenvolvimento em .NET utilizando Docker - Meetup 8 Itu DevelopersDesenvolvimento em .NET utilizando Docker - Meetup 8 Itu Developers
Desenvolvimento em .NET utilizando Docker - Meetup 8 Itu Developers
 
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
 
Docker: Introdução à Conteinerização de Apps e Nuvem.
Docker: Introdução à Conteinerização de Apps e Nuvem.Docker: Introdução à Conteinerização de Apps e Nuvem.
Docker: Introdução à Conteinerização de Apps e Nuvem.
 

Introdução ao Docker