SlideShare ist ein Scribd-Unternehmen logo
1 von 34
Downloaden Sie, um offline zu lesen
OqueéDocker?
Consultor/Desenvolvedor
Palestrante
Geradordeconteúdo
gentefina
EU
"Containers docker embrulham parte de um software em
um filesystem completo que contem tudo que ele precisa
para rodar: código, ferramentas de sistemas, bibliotecas -
tudo você pode instalar em um servidor. Isso garante que
sempre vai rodar a mesma coisa independente do ambiente."
Tradução livre da descrição oficial aqui.
e?????
Comoolinuxadministraosprocessos
● Cada processo possui um PID
○ PID = Process Identifier
○ Identificador do processo
● Processos possuem também um atributo chamado PPID
○ PPID = Parent Process Identifier
○ Identifica o PID do processo que pediu ao Kernel para criar o
processo.
● UIDs e GIDS
○ UIDS = User Identification
○ GIDS = Group Identification
○ São usados para fazer a permissão dos usuários.
OCHROOT
● O comanado CHROOT do SO Unix é uma operação que muda o
diretório root do processo corrente e de seus processos
filhos.
● Processos que tem o root alterado não podem acessar
arquivos fora daquele contexto.
CHROOTebindmounts
● Um processo pode ter acesso a diretórios específicos,
podendo ter permissão de Read-Only (somente leitura).
● Podem acessar diretórios como /dev ou /sys por exemplo.
LinuxContainers(LXC)
● O Kernel Linux possui Cgroups
○ Cgroups conseguem isolar o uso de recursos como CPU, Memória, Rede e
etc.
○ Os grupos de processos são separados por um isolamento de namespace.
virtualizações
● Bare Metal
○ O software que administra a virtualização opera diretamente sobre o
hardware como o Xen e VMware.
○ Proporciona um maior isolamento mas tem um alto custo pois cada
maquina ira ter seu próprio Kernel e SO
● Hosted
○ É o caso do VirtualBox que roda em cima de um SO mas igual ao Bare
Metal irão iniciar um ambiente com Kernel e SO próprios.
● LXC
○ Basicamente é uma virtualização em nível de SO.
○ Conseguem rodar sistemas Linux isolados.
○ Compartilham dos recursos do host de controle.
EODOCKER?
Docker
● O docker usava LXC.
● O simbolo de uma baleia levando containers simboliza a
maquina host levando vários serviços.
● O docker tem a missão de facilitar e agilizar o
desenvolvimento de aplicações.
● Containers devem ter somente uma responsabilidade.
MAquinasvirtuais vs Docker
Termoscomuns
● Build
● Imagem
● Container
● Porta
● Link
● Volume
● Registry
Dockerbuild
Build é o processo de construção de uma imagem a partir de
um arquivo chamado Dockerfile que contem instruções.
O Dockerfile é lido de cima para baixo é seus passos são
cacheados para futuros builds.
Dockerfile
Imagensdocker
Imagens docker são arquivos imutáveis que possuem uma lista
de camadas semelhante a um repositório git, elas podem ser
atualizadas e versionadas e servem como base para criar um
container.
● Imagens oficiais
○ Nome e versão
■ Ubuntu:14.04
● Imagens não oficiais
○ Usuario, nome e versão
■ waldemarnt/ubuntu:14.04
Dockercontainers
Containers são binários iniciados a partir de uma imagem
(somente de uma). Eles irão executar o que foi descrito no
build. Containers são descartáveis e não devem ser usados
por muito tempo.
Dockerports
Containers que executam aplicações por exemplo precisam
expor algumas portas na rede para que possam ser acessados.
Quando se inicia um container a partir de uma imagem é
possível dizer qual porta sera.
Dockerlinks
Como containers devem ter somente uma responsabilidade quase
sempre será necessário depender de outros containers com
outras responsabilidades. Com o link é possível fazer com
que eles se encontrem na rede.
Dockervolumes
Containers precisam salvar dados, sincronizar dados externos
e outros tipos de operações. Os volumes são escritos no
file-system. Volumes do tipo data não são deletados quando o
container é removido.
Dockerregistry
Images docker podem ser versionadas e commitadas, são
formadas em forma de camadas incrementais. O docker registry
é o repositório oficial do docker na web onde é possível
hospedar imagens e usar imagens publicas e privadas.
Workflowdedesenvolvimento
CriandoumDockerfile
construindoumdockerfile
listandoimagens
Iniciandoumcontainer
listandocontainersativos
Parandoeiniciandoomesmocontainer
Executandocomandosnocontainer
Sem entrar no container
Entrando no container em modo interavito
PERGUNTAS?
http://walde.co
waldemarnt no twitter e facebook

Weitere ähnliche Inhalte

Was ist angesagt?

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
 
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
 
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
 
Docker, facilitando a vida do desenvolvimento
Docker, facilitando a vida do desenvolvimentoDocker, facilitando a vida do desenvolvimento
Docker, facilitando a vida do desenvolvimentoSérgio Lima
 
Docker na vida real
Docker na vida realDocker na vida real
Docker na vida realFernando Ike
 
Primeiros passos com o Docker
Primeiros passos com o DockerPrimeiros passos com o Docker
Primeiros passos com o DockerWebSix
 
São paulo docker meetup #2
São paulo docker meetup #2São paulo docker meetup #2
São paulo docker meetup #2Azuki
 
Docker - minicurso utfpr 2017
Docker -  minicurso utfpr 2017Docker -  minicurso utfpr 2017
Docker - minicurso utfpr 2017Fabio Janiszevski
 
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
 
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
 
TDC 2015 POA - O Fantástico Mundo de Docker
TDC 2015 POA - O Fantástico Mundo de DockerTDC 2015 POA - O Fantástico Mundo de Docker
TDC 2015 POA - O Fantástico Mundo de DockerStefan Teixeira
 
Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3Wellington Silva
 

Was ist angesagt? (20)

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: uma visão geral
Docker: uma visão geralDocker: uma visão geral
Docker: uma visão geral
 
O que é Docker?
O que é Docker?O que é Docker?
O que é Docker?
 
Apresentação Docker
Apresentação DockerApresentação Docker
Apresentação 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...
 
O poder do Docker (7 Masters)
O poder do Docker (7 Masters)O poder do Docker (7 Masters)
O poder do Docker (7 Masters)
 
Docker, facilitando a vida do desenvolvimento
Docker, facilitando a vida do desenvolvimentoDocker, facilitando a vida do desenvolvimento
Docker, facilitando a vida do desenvolvimento
 
Docker
DockerDocker
Docker
 
Docker na vida real
Docker na vida realDocker na vida real
Docker na vida real
 
Primeiros passos com o Docker
Primeiros passos com o DockerPrimeiros passos com o Docker
Primeiros passos com o Docker
 
São paulo docker meetup #2
São paulo docker meetup #2São paulo docker meetup #2
São paulo docker meetup #2
 
Docker - minicurso utfpr 2017
Docker -  minicurso utfpr 2017Docker -  minicurso utfpr 2017
Docker - minicurso utfpr 2017
 
Docker - Básico
Docker - BásicoDocker - Básico
Docker - Básico
 
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
 
Docker compose
Docker composeDocker compose
Docker compose
 
Oficina docker
Oficina dockerOficina docker
Oficina 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
 
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
 
TDC 2015 POA - O Fantástico Mundo de Docker
TDC 2015 POA - O Fantástico Mundo de DockerTDC 2015 POA - O Fantástico Mundo de Docker
TDC 2015 POA - O Fantástico Mundo de Docker
 
Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3
 

Andere mochten auch

Docker: um linux container engine
Docker:  um linux container engineDocker:  um linux container engine
Docker: um linux container engineHudson Brendon
 
Elasticsearch shards, index, filters and queries
Elasticsearch shards, index, filters and queriesElasticsearch shards, index, filters and queries
Elasticsearch shards, index, filters and queriesWaldemar Neto
 
Elasticsearch de dentro para fora
Elasticsearch de dentro para foraElasticsearch de dentro para fora
Elasticsearch de dentro para foraWaldemar Neto
 
AWS re:Invent 2016: Operations Automation and Infrastructure Management with ...
AWS re:Invent 2016: Operations Automation and Infrastructure Management with ...AWS re:Invent 2016: Operations Automation and Infrastructure Management with ...
AWS re:Invent 2016: Operations Automation and Infrastructure Management with ...Amazon Web Services
 
Ecovila Tao das Artes - Imersão de Fim de Semana
Ecovila Tao das Artes - Imersão de Fim de SemanaEcovila Tao das Artes - Imersão de Fim de Semana
Ecovila Tao das Artes - Imersão de Fim de SemanaMarcio Okabe
 
User Experience Distilled
User Experience DistilledUser Experience Distilled
User Experience DistilledHindu Dharma
 
TMUS Q2 2015 Investor Factbook
TMUS Q2 2015 Investor FactbookTMUS Q2 2015 Investor Factbook
TMUS Q2 2015 Investor FactbookTMUS_IR
 
Campus 2 Corporate (An Initiative To Help You)
Campus 2 Corporate (An Initiative To Help You)Campus 2 Corporate (An Initiative To Help You)
Campus 2 Corporate (An Initiative To Help You)Roy S
 
Daily Newsletter: 11th February, 2011
Daily Newsletter: 11th February, 2011Daily Newsletter: 11th February, 2011
Daily Newsletter: 11th February, 2011Fullerton Securities
 
Nuevas Tecnologias - Colegio Modermo Mac Kay
Nuevas Tecnologias - Colegio Modermo Mac KayNuevas Tecnologias - Colegio Modermo Mac Kay
Nuevas Tecnologias - Colegio Modermo Mac Kayyamila
 
Guia de estudio computo i
Guia de estudio computo iGuia de estudio computo i
Guia de estudio computo iELVIA
 

Andere mochten auch (11)

Docker: um linux container engine
Docker:  um linux container engineDocker:  um linux container engine
Docker: um linux container engine
 
Elasticsearch shards, index, filters and queries
Elasticsearch shards, index, filters and queriesElasticsearch shards, index, filters and queries
Elasticsearch shards, index, filters and queries
 
Elasticsearch de dentro para fora
Elasticsearch de dentro para foraElasticsearch de dentro para fora
Elasticsearch de dentro para fora
 
AWS re:Invent 2016: Operations Automation and Infrastructure Management with ...
AWS re:Invent 2016: Operations Automation and Infrastructure Management with ...AWS re:Invent 2016: Operations Automation and Infrastructure Management with ...
AWS re:Invent 2016: Operations Automation and Infrastructure Management with ...
 
Ecovila Tao das Artes - Imersão de Fim de Semana
Ecovila Tao das Artes - Imersão de Fim de SemanaEcovila Tao das Artes - Imersão de Fim de Semana
Ecovila Tao das Artes - Imersão de Fim de Semana
 
User Experience Distilled
User Experience DistilledUser Experience Distilled
User Experience Distilled
 
TMUS Q2 2015 Investor Factbook
TMUS Q2 2015 Investor FactbookTMUS Q2 2015 Investor Factbook
TMUS Q2 2015 Investor Factbook
 
Campus 2 Corporate (An Initiative To Help You)
Campus 2 Corporate (An Initiative To Help You)Campus 2 Corporate (An Initiative To Help You)
Campus 2 Corporate (An Initiative To Help You)
 
Daily Newsletter: 11th February, 2011
Daily Newsletter: 11th February, 2011Daily Newsletter: 11th February, 2011
Daily Newsletter: 11th February, 2011
 
Nuevas Tecnologias - Colegio Modermo Mac Kay
Nuevas Tecnologias - Colegio Modermo Mac KayNuevas Tecnologias - Colegio Modermo Mac Kay
Nuevas Tecnologias - Colegio Modermo Mac Kay
 
Guia de estudio computo i
Guia de estudio computo iGuia de estudio computo i
Guia de estudio computo i
 

Ähnlich wie O que é docker?

Transportando as aplicações entre vários ambientes com Docker
Transportando as aplicações entre vários ambientes com DockerTransportando as aplicações entre vários ambientes com Docker
Transportando as aplicações entre vários ambientes com DockerAécio Pires
 
[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
 
Treinamento Docker Básico
Treinamento Docker BásicoTreinamento Docker Básico
Treinamento Docker BásicoAndré Justi
 
JavaDay2018 - Docker - Além do HelloWorld
JavaDay2018 - Docker - Além do HelloWorldJavaDay2018 - Docker - Além do HelloWorld
JavaDay2018 - Docker - Além do HelloWorldThiago Soares
 
Introdução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfIntrodução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfdadalt1
 
Linux Containers: do que são feitos? de onde vem? quem os alimenta?
Linux Containers: do que são feitos? de onde vem? quem os alimenta?Linux Containers: do que são feitos? de onde vem? quem os alimenta?
Linux Containers: do que são feitos? de onde vem? quem os alimenta?Marcos Paulo de Souza
 
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
 
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
 
O poder dos microsserviços com Docker e Kubernetes
O poder dos microsserviços com Docker e KubernetesO poder dos microsserviços com Docker e Kubernetes
O poder dos microsserviços com Docker e KubernetesWillian Azevedo
 
Source-to-container no mundo real
Source-to-container no mundo realSource-to-container no mundo real
Source-to-container no mundo realEvandro Silvestre
 

Ähnlich wie O que é docker? (20)

Transportando as aplicações entre vários ambientes com Docker
Transportando as aplicações entre vários ambientes com DockerTransportando as aplicações entre vários ambientes com Docker
Transportando as aplicações entre vários ambientes com Docker
 
Iniciando com docker
Iniciando com dockerIniciando com docker
Iniciando com docker
 
Olá docker
Olá dockerOlá docker
Olá 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
[Unirede] Webinar: Transportando as aplicações entre vários ambientes com Docker
 
Treinamento Docker Básico
Treinamento Docker BásicoTreinamento Docker Básico
Treinamento Docker Básico
 
Docker meetup
Docker meetupDocker meetup
Docker meetup
 
JavaDay2018 - Docker - Além do HelloWorld
JavaDay2018 - Docker - Além do HelloWorldJavaDay2018 - Docker - Além do HelloWorld
JavaDay2018 - Docker - Além do HelloWorld
 
Introdução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfIntrodução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdf
 
Docker fundamentos
Docker fundamentosDocker fundamentos
Docker fundamentos
 
Iniciando com docker
Iniciando com dockerIniciando com docker
Iniciando com docker
 
Freedomday2016 - Fique na caixinha, docker
Freedomday2016 - Fique na caixinha, dockerFreedomday2016 - Fique na caixinha, docker
Freedomday2016 - Fique na caixinha, docker
 
Linux Containers: do que são feitos? de onde vem? quem os alimenta?
Linux Containers: do que são feitos? de onde vem? quem os alimenta?Linux Containers: do que são feitos? de onde vem? quem os alimenta?
Linux Containers: do que são feitos? de onde vem? quem os alimenta?
 
Docker
DockerDocker
Docker
 
Introdução ao docker
Introdução ao dockerIntrodução ao docker
Introdução ao 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 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
 
O poder dos microsserviços com Docker e Kubernetes
O poder dos microsserviços com Docker e KubernetesO poder dos microsserviços com Docker e Kubernetes
O poder dos microsserviços com Docker e Kubernetes
 
Docker para iniciantes
Docker para iniciantesDocker para iniciantes
Docker para iniciantes
 
Source-to-container no mundo real
Source-to-container no mundo realSource-to-container no mundo real
Source-to-container no mundo real
 

Mehr von Waldemar Neto

12 Factor App Docker na Cloud e outras buzzwords
12 Factor App Docker na Cloud e outras buzzwords12 Factor App Docker na Cloud e outras buzzwords
12 Factor App Docker na Cloud e outras buzzwordsWaldemar Neto
 
12 Factor APPS, docker na cloud e outras buzzwords
12 Factor APPS, docker na cloud e outras buzzwords12 Factor APPS, docker na cloud e outras buzzwords
12 Factor APPS, docker na cloud e outras buzzwordsWaldemar Neto
 
Construindo APIs testáveis com Node.js - RSJS
Construindo APIs testáveis com Node.js - RSJSConstruindo APIs testáveis com Node.js - RSJS
Construindo APIs testáveis com Node.js - RSJSWaldemar Neto
 
Elasticsearch Aggregations
Elasticsearch AggregationsElasticsearch Aggregations
Elasticsearch AggregationsWaldemar Neto
 
Symfony2 e Elasticsearch com FosElasticaBundle
Symfony2 e Elasticsearch com FosElasticaBundleSymfony2 e Elasticsearch com FosElasticaBundle
Symfony2 e Elasticsearch com FosElasticaBundleWaldemar Neto
 
Monitoramento com ELK - Elasticsearch - Logstash - Kibana
Monitoramento com ELK - Elasticsearch - Logstash - KibanaMonitoramento com ELK - Elasticsearch - Logstash - Kibana
Monitoramento com ELK - Elasticsearch - Logstash - KibanaWaldemar Neto
 
No mundo das ap is com Restful webservices
No mundo das ap is com Restful webservicesNo mundo das ap is com Restful webservices
No mundo das ap is com Restful webservicesWaldemar Neto
 
Cakephp 3.0 o bolo ainda serve muita gente
Cakephp 3.0 o bolo ainda serve muita genteCakephp 3.0 o bolo ainda serve muita gente
Cakephp 3.0 o bolo ainda serve muita genteWaldemar Neto
 
No sql no mundo da persistencia poliglota
No sql no mundo da persistencia poliglotaNo sql no mundo da persistencia poliglota
No sql no mundo da persistencia poliglotaWaldemar Neto
 
Android para padawns
Android para padawnsAndroid para padawns
Android para padawnsWaldemar Neto
 
Como o elasticsearch salvou minhas buscas
Como o elasticsearch salvou minhas buscasComo o elasticsearch salvou minhas buscas
Como o elasticsearch salvou minhas buscasWaldemar Neto
 
CakePHP workshop ifsul
CakePHP workshop ifsulCakePHP workshop ifsul
CakePHP workshop ifsulWaldemar Neto
 
O que é esteganografia
O que é esteganografiaO que é esteganografia
O que é esteganografiaWaldemar Neto
 
Divisão de conhecimento e open source
Divisão de conhecimento e open sourceDivisão de conhecimento e open source
Divisão de conhecimento e open sourceWaldemar Neto
 

Mehr von Waldemar Neto (15)

12 Factor App Docker na Cloud e outras buzzwords
12 Factor App Docker na Cloud e outras buzzwords12 Factor App Docker na Cloud e outras buzzwords
12 Factor App Docker na Cloud e outras buzzwords
 
12 Factor APPS, docker na cloud e outras buzzwords
12 Factor APPS, docker na cloud e outras buzzwords12 Factor APPS, docker na cloud e outras buzzwords
12 Factor APPS, docker na cloud e outras buzzwords
 
Construindo APIs testáveis com Node.js - RSJS
Construindo APIs testáveis com Node.js - RSJSConstruindo APIs testáveis com Node.js - RSJS
Construindo APIs testáveis com Node.js - RSJS
 
Elasticsearch Aggregations
Elasticsearch AggregationsElasticsearch Aggregations
Elasticsearch Aggregations
 
Symfony2 e Elasticsearch com FosElasticaBundle
Symfony2 e Elasticsearch com FosElasticaBundleSymfony2 e Elasticsearch com FosElasticaBundle
Symfony2 e Elasticsearch com FosElasticaBundle
 
ELK introduction
ELK introductionELK introduction
ELK introduction
 
Monitoramento com ELK - Elasticsearch - Logstash - Kibana
Monitoramento com ELK - Elasticsearch - Logstash - KibanaMonitoramento com ELK - Elasticsearch - Logstash - Kibana
Monitoramento com ELK - Elasticsearch - Logstash - Kibana
 
No mundo das ap is com Restful webservices
No mundo das ap is com Restful webservicesNo mundo das ap is com Restful webservices
No mundo das ap is com Restful webservices
 
Cakephp 3.0 o bolo ainda serve muita gente
Cakephp 3.0 o bolo ainda serve muita genteCakephp 3.0 o bolo ainda serve muita gente
Cakephp 3.0 o bolo ainda serve muita gente
 
No sql no mundo da persistencia poliglota
No sql no mundo da persistencia poliglotaNo sql no mundo da persistencia poliglota
No sql no mundo da persistencia poliglota
 
Android para padawns
Android para padawnsAndroid para padawns
Android para padawns
 
Como o elasticsearch salvou minhas buscas
Como o elasticsearch salvou minhas buscasComo o elasticsearch salvou minhas buscas
Como o elasticsearch salvou minhas buscas
 
CakePHP workshop ifsul
CakePHP workshop ifsulCakePHP workshop ifsul
CakePHP workshop ifsul
 
O que é esteganografia
O que é esteganografiaO que é esteganografia
O que é esteganografia
 
Divisão de conhecimento e open source
Divisão de conhecimento e open sourceDivisão de conhecimento e open source
Divisão de conhecimento e open source
 

O que é docker?

  • 3.
  • 4. "Containers docker embrulham parte de um software em um filesystem completo que contem tudo que ele precisa para rodar: código, ferramentas de sistemas, bibliotecas - tudo você pode instalar em um servidor. Isso garante que sempre vai rodar a mesma coisa independente do ambiente." Tradução livre da descrição oficial aqui.
  • 6. Comoolinuxadministraosprocessos ● Cada processo possui um PID ○ PID = Process Identifier ○ Identificador do processo ● Processos possuem também um atributo chamado PPID ○ PPID = Parent Process Identifier ○ Identifica o PID do processo que pediu ao Kernel para criar o processo. ● UIDs e GIDS ○ UIDS = User Identification ○ GIDS = Group Identification ○ São usados para fazer a permissão dos usuários.
  • 7. OCHROOT ● O comanado CHROOT do SO Unix é uma operação que muda o diretório root do processo corrente e de seus processos filhos. ● Processos que tem o root alterado não podem acessar arquivos fora daquele contexto.
  • 8. CHROOTebindmounts ● Um processo pode ter acesso a diretórios específicos, podendo ter permissão de Read-Only (somente leitura). ● Podem acessar diretórios como /dev ou /sys por exemplo.
  • 9. LinuxContainers(LXC) ● O Kernel Linux possui Cgroups ○ Cgroups conseguem isolar o uso de recursos como CPU, Memória, Rede e etc. ○ Os grupos de processos são separados por um isolamento de namespace.
  • 10.
  • 11. virtualizações ● Bare Metal ○ O software que administra a virtualização opera diretamente sobre o hardware como o Xen e VMware. ○ Proporciona um maior isolamento mas tem um alto custo pois cada maquina ira ter seu próprio Kernel e SO ● Hosted ○ É o caso do VirtualBox que roda em cima de um SO mas igual ao Bare Metal irão iniciar um ambiente com Kernel e SO próprios. ● LXC ○ Basicamente é uma virtualização em nível de SO. ○ Conseguem rodar sistemas Linux isolados. ○ Compartilham dos recursos do host de controle.
  • 13. Docker ● O docker usava LXC. ● O simbolo de uma baleia levando containers simboliza a maquina host levando vários serviços. ● O docker tem a missão de facilitar e agilizar o desenvolvimento de aplicações. ● Containers devem ter somente uma responsabilidade.
  • 15.
  • 16. Termoscomuns ● Build ● Imagem ● Container ● Porta ● Link ● Volume ● Registry
  • 17. Dockerbuild Build é o processo de construção de uma imagem a partir de um arquivo chamado Dockerfile que contem instruções. O Dockerfile é lido de cima para baixo é seus passos são cacheados para futuros builds.
  • 19. Imagensdocker Imagens docker são arquivos imutáveis que possuem uma lista de camadas semelhante a um repositório git, elas podem ser atualizadas e versionadas e servem como base para criar um container. ● Imagens oficiais ○ Nome e versão ■ Ubuntu:14.04 ● Imagens não oficiais ○ Usuario, nome e versão ■ waldemarnt/ubuntu:14.04
  • 20. Dockercontainers Containers são binários iniciados a partir de uma imagem (somente de uma). Eles irão executar o que foi descrito no build. Containers são descartáveis e não devem ser usados por muito tempo.
  • 21. Dockerports Containers que executam aplicações por exemplo precisam expor algumas portas na rede para que possam ser acessados. Quando se inicia um container a partir de uma imagem é possível dizer qual porta sera.
  • 22. Dockerlinks Como containers devem ter somente uma responsabilidade quase sempre será necessário depender de outros containers com outras responsabilidades. Com o link é possível fazer com que eles se encontrem na rede.
  • 23. Dockervolumes Containers precisam salvar dados, sincronizar dados externos e outros tipos de operações. Os volumes são escritos no file-system. Volumes do tipo data não são deletados quando o container é removido.
  • 24. Dockerregistry Images docker podem ser versionadas e commitadas, são formadas em forma de camadas incrementais. O docker registry é o repositório oficial do docker na web onde é possível hospedar imagens e usar imagens publicas e privadas.
  • 25.
  • 33. Executandocomandosnocontainer Sem entrar no container Entrando no container em modo interavito