SlideShare uma empresa Scribd logo
1 de 24
Baixar para ler offline
Introdução ao Docker
Docker - Breve história
● Release inicial em 13/3/2013
● Iniciado como projeto interno
● Criado por Solomon Hykes
● Escrito em Go (Google)
● Open Source - http://docker.com
Docker - O que é?
● Tecnologia de código aberto
● Crie, execute, teste e implante aplicações.
● Empacote software em uma unidade padronizada para o
desenvolvimento.
● Utilizou LXC inicialmente, migrado para runC
(libcontainer).
● AUFS como filesystem (Another Union File System)
● Container não é VM!
Docker - Comunidade
● Github - Open Source
○ 180k linhas de código
○ 31k commits
○ 185 releases
○ 1.6k contribuidores
○ 149 pull requests
Docker - Alguns dados
● No final de 2014, 100 milhões de imagens foram
baixadas.
● Neste início de 2017, o número saltou para 8 bilhões de
imagens.
Docker - VM vs Container
Docker - Por que utilizar?
● Evitamos a frase - “mas funciona na minha máquina”.
● Aplicação toda contida em uma imagem.
● Infraestrutura definida como código.
● Comunidade.
Docker - Terminologia
● Images - É a “planta” de nossa aplicação, que forma a
base para os containers.
● Containers - São criados por Docker Images e rodam a
aplicação atual.
● Docker Daemon - Serviço em background que roda no
host e que gerencia a construção, execução e
distribuição.
Docker - Terminologia
● Docker Containers - Implementação dinâmica de uma
imagem. Múltiplos containers podem vir de uma única
imagem.
● Docker Client - Linha de comando que permite que o
usuário interaja com o daemon.
● Docker Hub - O registry (repositório) para Docker Images.
Docker - Como instalar?
CE - Community Edition
1. sudo apt-get -y install 
apt-transport-https 
ca-certificates 
curl 
software-properties-common
2. curl -fsSL https://download.docker.com/linux/debian/gpg |
sudo apt-key add -
3. sudo apt-get update
4. apt-get -y install docker-ce
Docker - Como iniciar, qual o primeiro comando?
● Que tal iniciar pelo começo?
○ docker version
○ docker info
Docker - Como eu...?
● ...inicio meu primeiro container?
Spoiler alert: tudo vem de uma imagem!
Docker
DEMO
Docker - Evoluindo...
● Como listar containers?
docker container list
● Como parar?
docker stop
● Como reiniciar?
docker restart
● Como remover?
docker rm
Docker
DEMO
Docker - Entrando num container
“Quero criar minha própria imagem, pois nenhuma imagem
que procurei atendeu meus requisitos.”
Podemos usar o comando docker attach para trabalhar
no container.
Docker
DEMO
Docker - Okay, tudo pronto, e agora?
Agora temos que “empacotar” o seu container em uma
imagem.
Usamos então o comando docker commit para gerar a
imagem.
Docker
DEMO
Docker - Terminologia
Dockerfile é:
● Simples arquivo texto onde contém uma lista de comandos.
● É uma forma simples de automatizar a criação de imagens.
● Basicamente são comandos em Linux, então não é
necessário aprender uma nova sintaxe.
Docker - Nginx
# imagem base
FROM nginx
# copiando arquivo para um diretório específico
COPY index.html /usr/share/nginx/html
# qual porta queremos que seja publicada
EXPOSE 80
# rodando aplicação
CMD ["nginx", "-g", "daemon off;"]
Docker - PHP CLI
# imagem base
FROM php:7.1-cli
# comando que irá rodar ao iniciar o container
CMD ["php", "--version"]
Docker - Volumes
Queremos programar localmente, ou temos dados para enviar
para dentro do container
docker run -it -v /path/to/file:/file tchelinux-app command
/file
PERGUNTAS?

Mais conteúdo relacionado

Mais procurados

Verdades que não querem te contar sobre Docker
Verdades que não querem te contar sobre DockerVerdades que não querem te contar sobre Docker
Verdades que não querem te contar sobre DockerLuís Bianchin
 
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 DockerBruno Ricardo Siqueira
 
Testadores 2015 - O Fantástico Mundo de Docker
Testadores 2015 - O Fantástico Mundo de DockerTestadores 2015 - O Fantástico Mundo de Docker
Testadores 2015 - O Fantástico Mundo de DockerStefan Teixeira
 
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 usoTobias Sette
 
Apresentação Docker
Apresentação DockerApresentação Docker
Apresentação DockerAndré Justi
 
Vagrant & Docker: carregue seus ambientes no bolso
Vagrant & Docker: carregue seus ambientes no bolsoVagrant & Docker: carregue seus ambientes no bolso
Vagrant & Docker: carregue seus ambientes no bolsoDiogo Lucas
 
O poder do Docker (7 Masters)
O poder do Docker (7 Masters)O poder do Docker (7 Masters)
O poder do Docker (7 Masters)Wellington Silva
 
Desenvolvendo com PHP e Docker
Desenvolvendo com PHP e DockerDesenvolvendo com PHP e Docker
Desenvolvendo com PHP e DockerWaldemar Neto
 
TDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop dockerTDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop dockerRafael Gomes
 
Mundo mágico de Docker
Mundo mágico de DockerMundo mágico de Docker
Mundo mágico de DockerDANIEL SILVA
 
Docker: um linux container engine
Docker:  um linux container engineDocker:  um linux container engine
Docker: um linux container engineHudson Brendon
 
Troubleshooting docker
Troubleshooting dockerTroubleshooting docker
Troubleshooting dockerRafael Gomes
 
Docker na vida real
Docker na vida realDocker na vida real
Docker na vida realFernando Ike
 
JavaDay2018 - Docker - Além do HelloWorld
JavaDay2018 - Docker - Além do HelloWorldJavaDay2018 - Docker - Além do HelloWorld
JavaDay2018 - Docker - Além do HelloWorldThiago Soares
 
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...Renato Groff
 

Mais procurados (20)

Verdades que não querem te contar sobre Docker
Verdades que não querem te contar sobre DockerVerdades que não querem te contar sobre Docker
Verdades que não querem te contar sobre 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
 
Bem vindo ao Docker
Bem vindo ao DockerBem vindo ao Docker
Bem vindo ao Docker
 
Testadores 2015 - O Fantástico Mundo de Docker
Testadores 2015 - O Fantástico Mundo de DockerTestadores 2015 - O Fantástico Mundo de Docker
Testadores 2015 - O Fantástico Mundo de 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
 
Apresentação Docker
Apresentação DockerApresentação Docker
Apresentação Docker
 
Vagrant & Docker: carregue seus ambientes no bolso
Vagrant & Docker: carregue seus ambientes no bolsoVagrant & Docker: carregue seus ambientes no bolso
Vagrant & Docker: carregue seus ambientes no bolso
 
O poder do Docker (7 Masters)
O poder do Docker (7 Masters)O poder do Docker (7 Masters)
O poder do Docker (7 Masters)
 
Desenvolvendo com PHP e Docker
Desenvolvendo com PHP e DockerDesenvolvendo com PHP e Docker
Desenvolvendo com PHP e Docker
 
Iniciando com docker
Iniciando com dockerIniciando com docker
Iniciando com docker
 
O que é Docker?
O que é Docker?O que é Docker?
O que é Docker?
 
Introdução à plataforma Docker
Introdução à plataforma DockerIntrodução à plataforma Docker
Introdução à plataforma Docker
 
TDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop dockerTDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop docker
 
Mundo mágico de Docker
Mundo mágico de DockerMundo mágico de Docker
Mundo mágico de Docker
 
Docker: um linux container engine
Docker:  um linux container engineDocker:  um linux container engine
Docker: um linux container engine
 
Troubleshooting docker
Troubleshooting dockerTroubleshooting docker
Troubleshooting docker
 
Docker na vida real
Docker na vida realDocker na vida real
Docker na vida real
 
JavaDay2018 - Docker - Além do HelloWorld
JavaDay2018 - Docker - Além do HelloWorldJavaDay2018 - Docker - Além do HelloWorld
JavaDay2018 - Docker - Além do HelloWorld
 
Olá docker
Olá dockerOlá docker
Olá docker
 
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
 

Semelhante a Introdução ao Docker e suas principais funcionalidades

Introdução ao docker
Introdução ao dockerIntrodução ao docker
Introdução ao dockerBenicio Ávila
 
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
 
Introdução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfIntrodução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfdadalt1
 
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
 
Docker - Tutorial for beginners
Docker - Tutorial for beginnersDocker - Tutorial for beginners
Docker - Tutorial for beginnersRafael Chiavegatto
 
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
 
Treinamento Docker Básico
Treinamento Docker BásicoTreinamento Docker Básico
Treinamento Docker BásicoAndré Justi
 
Source-to-container no mundo real
Source-to-container no mundo realSource-to-container no mundo real
Source-to-container no mundo realEvandro Silvestre
 
Usp codelabs (docker)
Usp codelabs (docker)Usp codelabs (docker)
Usp codelabs (docker)TechCobli
 

Semelhante a Introdução ao Docker e suas principais funcionalidades (20)

Docker
DockerDocker
Docker
 
Introdução ao docker
Introdução ao dockerIntrodução ao docker
Introdução ao docker
 
Aulão de docker
Aulão de dockerAulão de docker
Aulão de 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
 
Introdução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfIntrodução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdf
 
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
 
Docker
DockerDocker
Docker
 
Ambiente de desenvolvimento com docker e ruby on rails
Ambiente de desenvolvimento com  docker e ruby on railsAmbiente de desenvolvimento com  docker e ruby on rails
Ambiente de desenvolvimento com docker e ruby on rails
 
Usando Docker no desenvolvimento .NET
Usando Docker no desenvolvimento .NETUsando Docker no desenvolvimento .NET
Usando Docker no desenvolvimento .NET
 
Docker - Tutorial for beginners
Docker - Tutorial for beginnersDocker - Tutorial for beginners
Docker - Tutorial for beginners
 
Docker para iniciantes
Docker para iniciantesDocker para iniciantes
Docker para iniciantes
 
Freedomday2016 - Fique na caixinha, docker
Freedomday2016 - Fique na caixinha, dockerFreedomday2016 - Fique na caixinha, docker
Freedomday2016 - Fique na caixinha, docker
 
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
 
Treinamento Docker Básico
Treinamento Docker BásicoTreinamento Docker Básico
Treinamento Docker Básico
 
Iniciando com docker
Iniciando com dockerIniciando com docker
Iniciando com docker
 
Source-to-container no mundo real
Source-to-container no mundo realSource-to-container no mundo real
Source-to-container no mundo real
 
Alagoas Dev Day
Alagoas Dev DayAlagoas Dev Day
Alagoas Dev Day
 
Usp codelabs (docker)
Usp codelabs (docker)Usp codelabs (docker)
Usp codelabs (docker)
 

Introdução ao Docker e suas principais funcionalidades

  • 2. Docker - Breve história ● Release inicial em 13/3/2013 ● Iniciado como projeto interno ● Criado por Solomon Hykes ● Escrito em Go (Google) ● Open Source - http://docker.com
  • 3. Docker - O que é? ● Tecnologia de código aberto ● Crie, execute, teste e implante aplicações. ● Empacote software em uma unidade padronizada para o desenvolvimento. ● Utilizou LXC inicialmente, migrado para runC (libcontainer). ● AUFS como filesystem (Another Union File System) ● Container não é VM!
  • 4. Docker - Comunidade ● Github - Open Source ○ 180k linhas de código ○ 31k commits ○ 185 releases ○ 1.6k contribuidores ○ 149 pull requests
  • 5. Docker - Alguns dados ● No final de 2014, 100 milhões de imagens foram baixadas. ● Neste início de 2017, o número saltou para 8 bilhões de imagens.
  • 6. Docker - VM vs Container
  • 7. Docker - Por que utilizar? ● Evitamos a frase - “mas funciona na minha máquina”. ● Aplicação toda contida em uma imagem. ● Infraestrutura definida como código. ● Comunidade.
  • 8. Docker - Terminologia ● Images - É a “planta” de nossa aplicação, que forma a base para os containers. ● Containers - São criados por Docker Images e rodam a aplicação atual. ● Docker Daemon - Serviço em background que roda no host e que gerencia a construção, execução e distribuição.
  • 9. Docker - Terminologia ● Docker Containers - Implementação dinâmica de uma imagem. Múltiplos containers podem vir de uma única imagem. ● Docker Client - Linha de comando que permite que o usuário interaja com o daemon. ● Docker Hub - O registry (repositório) para Docker Images.
  • 10. Docker - Como instalar? CE - Community Edition 1. sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common 2. curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add - 3. sudo apt-get update 4. apt-get -y install docker-ce
  • 11. Docker - Como iniciar, qual o primeiro comando? ● Que tal iniciar pelo começo? ○ docker version ○ docker info
  • 12. Docker - Como eu...? ● ...inicio meu primeiro container? Spoiler alert: tudo vem de uma imagem!
  • 14. Docker - Evoluindo... ● Como listar containers? docker container list ● Como parar? docker stop ● Como reiniciar? docker restart ● Como remover? docker rm
  • 16. Docker - Entrando num container “Quero criar minha própria imagem, pois nenhuma imagem que procurei atendeu meus requisitos.” Podemos usar o comando docker attach para trabalhar no container.
  • 18. Docker - Okay, tudo pronto, e agora? Agora temos que “empacotar” o seu container em uma imagem. Usamos então o comando docker commit para gerar a imagem.
  • 20. Docker - Terminologia Dockerfile é: ● Simples arquivo texto onde contém uma lista de comandos. ● É uma forma simples de automatizar a criação de imagens. ● Basicamente são comandos em Linux, então não é necessário aprender uma nova sintaxe.
  • 21. Docker - Nginx # imagem base FROM nginx # copiando arquivo para um diretório específico COPY index.html /usr/share/nginx/html # qual porta queremos que seja publicada EXPOSE 80 # rodando aplicação CMD ["nginx", "-g", "daemon off;"]
  • 22. Docker - PHP CLI # imagem base FROM php:7.1-cli # comando que irá rodar ao iniciar o container CMD ["php", "--version"]
  • 23. Docker - Volumes Queremos programar localmente, ou temos dados para enviar para dentro do container docker run -it -v /path/to/file:/file tchelinux-app command /file