SlideShare uma empresa Scribd logo
1 de 22
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

Mais conteúdo relacionado

Mais procurados

Docker 101: Introduction to Docker
Docker 101: Introduction to DockerDocker 101: Introduction to Docker
Docker 101: Introduction to Docker
Docker, Inc.
 
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
Simplilearn
 

Mais procurados (20)

Git e GitHub: Versionamento de Código Fácil
Git e GitHub: Versionamento de Código FácilGit e GitHub: Versionamento de Código Fácil
Git e GitHub: Versionamento de Código Fácil
 
Virtualization, Containers, Docker and scalable container management services
Virtualization, Containers, Docker and scalable container management servicesVirtualization, Containers, Docker and scalable container management services
Virtualization, Containers, Docker and scalable container management services
 
Docker Basics
Docker BasicsDocker Basics
Docker Basics
 
Apresentação mvc
Apresentação mvcApresentação mvc
Apresentação mvc
 
Dockerfile
Dockerfile Dockerfile
Dockerfile
 
Introducao a Arquitetura de Software
Introducao a Arquitetura de SoftwareIntroducao a Arquitetura de Software
Introducao a Arquitetura de Software
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Docker 101 : Introduction to Docker and Containers
Docker 101 : Introduction to Docker and ContainersDocker 101 : Introduction to Docker and Containers
Docker 101 : Introduction to Docker and Containers
 
Docker 101: Introduction to Docker
Docker 101: Introduction to DockerDocker 101: Introduction to Docker
Docker 101: Introduction to Docker
 
Docker: uma visão geral e exemplos de uso
Docker: uma visão geral e exemplos de usoDocker: uma visão geral e exemplos de uso
Docker: uma visão geral e exemplos de uso
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Intro to containerization
Intro to containerizationIntro to containerization
Intro to containerization
 
Docker introduction & benefits
Docker introduction & benefitsDocker introduction & benefits
Docker introduction & benefits
 
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
 
Introduzione a Docker (Maggio 2017) [ITA]
Introduzione a Docker (Maggio 2017) [ITA]Introduzione a Docker (Maggio 2017) [ITA]
Introduzione a Docker (Maggio 2017) [ITA]
 
Docker Explained | What Is A Docker Container? | Docker Simplified | Docker T...
Docker Explained | What Is A Docker Container? | Docker Simplified | Docker T...Docker Explained | What Is A Docker Container? | Docker Simplified | Docker T...
Docker Explained | What Is A Docker Container? | Docker Simplified | Docker T...
 
Introduction to container based virtualization with docker
Introduction to container based virtualization with dockerIntroduction to container based virtualization with docker
Introduction to container based virtualization with docker
 
Banco de Dados - Sistemas de Gerenciamento de Banco de Dados
Banco de Dados - Sistemas de Gerenciamento de Banco de DadosBanco de Dados - Sistemas de Gerenciamento de Banco de Dados
Banco de Dados - Sistemas de Gerenciamento de Banco de Dados
 

Destaque

24may 1000 valday sergey shekyan artem harutyunyan 'to watch or to be watched'
24may 1000 valday sergey shekyan artem harutyunyan 'to watch or to be watched'24may 1000 valday sergey shekyan artem harutyunyan 'to watch or to be watched'
24may 1000 valday sergey shekyan artem harutyunyan 'to watch or to be watched'
Positive Hack Days
 
Como fazer-fichamento-de-texto-ou-livro-1211754577301157-9
Como fazer-fichamento-de-texto-ou-livro-1211754577301157-9Como fazer-fichamento-de-texto-ou-livro-1211754577301157-9
Como fazer-fichamento-de-texto-ou-livro-1211754577301157-9
Naysa Taboada
 

Destaque (20)

Aula 1 - Testando a Segurança de Sua Aplicação Web
Aula 1 - Testando a Segurança de Sua Aplicação WebAula 1 - Testando a Segurança de Sua Aplicação Web
Aula 1 - Testando a Segurança de Sua Aplicação Web
 
Node Summit 2016: Building your DevOps for Node.js
Node Summit 2016: Building your DevOps for Node.jsNode Summit 2016: Building your DevOps for Node.js
Node Summit 2016: Building your DevOps for Node.js
 
24may 1000 valday sergey shekyan artem harutyunyan 'to watch or to be watched'
24may 1000 valday sergey shekyan artem harutyunyan 'to watch or to be watched'24may 1000 valday sergey shekyan artem harutyunyan 'to watch or to be watched'
24may 1000 valday sergey shekyan artem harutyunyan 'to watch or to be watched'
 
Com 364 - Episode
Com 364 - EpisodeCom 364 - Episode
Com 364 - Episode
 
Lets talk about bug hunting
Lets talk about bug huntingLets talk about bug hunting
Lets talk about bug hunting
 
Tarea
TareaTarea
Tarea
 
MVP ShowCast 2014 - Entendendo Big Data Através da Plataforma Microsoft
MVP ShowCast 2014 - Entendendo Big Data Através da Plataforma MicrosoftMVP ShowCast 2014 - Entendendo Big Data Através da Plataforma Microsoft
MVP ShowCast 2014 - Entendendo Big Data Através da Plataforma Microsoft
 
Slide Questões norteadoras
Slide Questões norteadorasSlide Questões norteadoras
Slide Questões norteadoras
 
Plano de negócio - um ensaio
Plano de negócio - um ensaioPlano de negócio - um ensaio
Plano de negócio - um ensaio
 
Conv11
Conv11Conv11
Conv11
 
A brief introduction to reversing code with OllyDbg and other tools
A brief introduction to reversing code with OllyDbg and other toolsA brief introduction to reversing code with OllyDbg and other tools
A brief introduction to reversing code with OllyDbg and other tools
 
EDITAL IFCE 01/2016 CURSOS DE FORMAÇÃO INICIAL E CONTINUADA-2016.2
EDITAL IFCE  01/2016 CURSOS DE FORMAÇÃO INICIAL E CONTINUADA-2016.2EDITAL IFCE  01/2016 CURSOS DE FORMAÇÃO INICIAL E CONTINUADA-2016.2
EDITAL IFCE 01/2016 CURSOS DE FORMAÇÃO INICIAL E CONTINUADA-2016.2
 
Prof. Emanuel Cohen, Technion
Prof. Emanuel Cohen, TechnionProf. Emanuel Cohen, Technion
Prof. Emanuel Cohen, Technion
 
1.plano de negócio1
1.plano de negócio11.plano de negócio1
1.plano de negócio1
 
Workshop Marketing Digital para o Turismo 4 - TripAdvisor
Workshop Marketing Digital para o Turismo 4 - TripAdvisorWorkshop Marketing Digital para o Turismo 4 - TripAdvisor
Workshop Marketing Digital para o Turismo 4 - TripAdvisor
 
Fuzz.txt
Fuzz.txtFuzz.txt
Fuzz.txt
 
Gol 2014 Socialização
Gol 2014 SocializaçãoGol 2014 Socialização
Gol 2014 Socialização
 
Concurso Público IFCE 2016 para a carreira técnico-administrativa
Concurso Público IFCE 2016 para a carreira técnico-administrativaConcurso Público IFCE 2016 para a carreira técnico-administrativa
Concurso Público IFCE 2016 para a carreira técnico-administrativa
 
EMENDA À CONSTITUIÇÃO DO ESTADO DO CEARÁ 87, de 21/12/2016
EMENDA À CONSTITUIÇÃO DO ESTADO DO CEARÁ 87, de 21/12/2016EMENDA À CONSTITUIÇÃO DO ESTADO DO CEARÁ 87, de 21/12/2016
EMENDA À CONSTITUIÇÃO DO ESTADO DO CEARÁ 87, de 21/12/2016
 
Como fazer-fichamento-de-texto-ou-livro-1211754577301157-9
Como fazer-fichamento-de-texto-ou-livro-1211754577301157-9Como fazer-fichamento-de-texto-ou-livro-1211754577301157-9
Como fazer-fichamento-de-texto-ou-livro-1211754577301157-9
 

Semelhante a Introdução a Containers 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
Francisco Gonçalves
 

Semelhante a Introdução a Containers Docker (20)

Freedomday2016 - Fique na caixinha, docker
Freedomday2016 - Fique na caixinha, dockerFreedomday2016 - Fique na caixinha, docker
Freedomday2016 - Fique na caixinha, docker
 
Desenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando DockerDesenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando Docker
 
Olá docker
Olá dockerOlá docker
Olá 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
 
Usando Docker no desenvolvimento .NET
Usando Docker no desenvolvimento .NETUsando Docker no desenvolvimento .NET
Usando Docker no desenvolvimento .NET
 
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 101 e Ambientes Imutáveis
Docker 101 e Ambientes Imutáveis Docker 101 e Ambientes Imutáveis
Docker 101 e Ambientes Imutáveis
 
O que é Docker?
O que é Docker?O que é Docker?
O que é Docker?
 
Apresentacao docker
Apresentacao dockerApresentacao docker
Apresentacao docker
 
Orquestrando Docker Containers: Machine, Swarm e Compose
Orquestrando Docker Containers: Machine, Swarm e ComposeOrquestrando Docker Containers: Machine, Swarm e Compose
Orquestrando Docker Containers: Machine, Swarm e Compose
 
Docker
Docker Docker
Docker
 
Docker meetup
Docker meetupDocker meetup
Docker meetup
 
Mundo mágico de Docker
Mundo mágico de DockerMundo mágico de Docker
Mundo mágico de Docker
 
Introdução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfIntrodução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdf
 
Introdução ao docker
Introdução ao dockerIntrodução ao docker
Introdução ao docker
 
Docker
DockerDocker
Docker
 
Docker - Essa baleia vai te conquistar
Docker - Essa baleia vai te conquistarDocker - Essa baleia vai te conquistar
Docker - Essa baleia vai te conquistar
 
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
 
Docker
DockerDocker
Docker
 

Mais de Matheus Fidelis

Mais de Matheus Fidelis (9)

Road to serverless
Road to serverlessRoad to serverless
Road to serverless
 
Criando API's com HapiJS
Criando API's com HapiJSCriando API's com HapiJS
Criando API's com HapiJS
 
Desbravando o REST com Python
Desbravando o REST com PythonDesbravando o REST com Python
Desbravando o REST com Python
 
Web scraping com python
Web scraping com pythonWeb scraping com python
Web scraping com python
 
Docker Para Maiores - GDG Cabreúva
Docker Para Maiores - GDG CabreúvaDocker Para Maiores - GDG Cabreúva
Docker Para Maiores - GDG Cabreúva
 
Escalando API's com NodeJS, Docker e RabbitMQ
Escalando API's com NodeJS, Docker e RabbitMQEscalando API's com NodeJS, Docker e RabbitMQ
Escalando API's com NodeJS, Docker e RabbitMQ
 
Desmistificando a Amazon AWS
Desmistificando a Amazon AWSDesmistificando a Amazon AWS
Desmistificando a Amazon AWS
 
Docker para maiores
Docker para maioresDocker para maiores
Docker para maiores
 
O Fantástico Mundo de Git
O Fantástico Mundo de GitO Fantástico Mundo de Git
O Fantástico Mundo de Git
 

Introdução a Containers Docker

  • 1. Introdução a Containers com Docker Matheus Fidelis @fidelissauro #GDGCabreuva
  • 2. $ 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
  • 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 OPEN SOURCE SEGURA ESCALÁVEL MULTI SERVIÇOS KERNEL LINUX FEITO PARA A NÚVEM Arquitetura
  • 7. VM vs Docker Container Virtual Machine Container
  • 8. 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...”
  • 10. 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
  • 11. 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/
  • 12. 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
  • 13. HANDS ON!! Verificando containers em execução root@fidelis:~# docker ps Verificando imagens disponíveis root@fidelis:~# docker images
  • 14. 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
  • 15. 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
  • 17. 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
  • 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: 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
  • 21. 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…