Docker

Publicado por Alan em

O que é? Onde vive? O que come? 

Docker é simplesmente um software container. – Mas… o que é isso? Pra que serve? Como usa? –  Para falarmos mais sobre Docker, precisamos primeiro entender o que é um container no mundo da tecnologia. 

Containers 

Containers são tecnologias que permitem isolar totalmente aplicações e assim, fazem com que elas sejam facilmente executadas em outros ambientes, sem necessitar de muitas configurações extras, como instalar um sistema operacional específico, softwares, dependências e etc. Tudo ocorre isoladamente dentro do container, – como se fosse uma máquina virtual… certo? – Errado! 

Como podemos ver na imagem abaixo, o computador funciona em camadas, desde o Hardware, que é a parte física do computador, até a sua aplicação, que a parte de mais alto nível. 

Dessa forma, todas as suas dependências e sistema operacional precisam estar de acordo com o necessário para rodar aquela aplicação, o que torna bastante trabalhoso. 

Com isso, foi desenvolvido um software de máquina virtual, ela roda na camada acima do sistema operacional, adicionando novas camadas e isolando a aplicação totalmente do resto do sistema, como podemos ver na imagem abaixo. 

Como a imagem mostra, a máquina virtual tem seu próprio sistema operacional, e suas dependências e aplicações rodam em cima dele, e não do sistema operacional do Host, assim isolando completamente a aplicação. 

Então… qual a diferença entre uma máquina virtual e um container Docker? A diferença está em qual parte da camada cada um está sendo rodado. 

Enquanto a máquina virtual roda em cima de todo o sistema operacional do Host, o container roda apenas em cima do Kernel do sistema operacional.  – Ker…o quê!? 

O sistema operacional pode ser dividido em duas partes:  

  • O Kernel, que é a interface entre o hardware e os softwares que usarão aquele hardware. 
  • Outros softwares de interface, segurança, sistema de arquivos e etc. 

O container Docker rodando apenas em cima do Kernel do sistema operacional e não todo o sistema operacional, o torna muito mais leve e rápido, facilitando bastante na hora de baixar suas imagens e de dar deploy nas suas aplicações. 

Os containers Docker são instâncias de uma imagem Docker,  e… oque são essas imagens?    

Pense numa forma de bolo, todos os bolos assados nela, terão exatamente o mesmo formato, apesar de serem bolos diferentes. Uma imagem é como se fosse uma forma de bolo, onde os containers são os bolos. Então, uma imagem é o que usamos para instanciar um novo container. 

Bom pessoal, por essa semana é isso. Caso tenham gostado e quiserem aprender mais sobre Docker, não deixem de avaliar o post positivamente e entrar na documentação oficial http://docs.docker.com/!


5 comentários

Alvaro H. Beckerig · 05/02/2020 às 16:55

Que orgulho dessas postagens técnicas!

Diogo · 05/02/2020 às 17:19

Muito Bom Alan! Tirou minha dúvida pq não poderiamos considerar docker como uma vm mais leve!

Rômulo Bastos · 05/02/2020 às 19:26

Ótimo artigo! Seria legal termos meetups sobre Docker e assuntos relacionados na Garagem! 😀

    Alvaro H. Beckerig · 06/02/2020 às 14:51

    Vamos fazer um Talk sobre o assunto e depois podemos evoluir para um meetup. Vamos juntos!

Vinicius · 06/02/2020 às 16:32

Sensacionalité

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

%d blogueiros gostam disto: