DOCKER

DOCKER

A palavra “DOCKER” abrange muitas definições. Isso inclui um projeto da comunidade open source, as ferramentas resultantes desse projeto, a empresa Docker Inc., principal apoiadora do projeto, e as ferramentas para quais a empresa formalmente oferece suporte. As tecnologias e a empresa compartilham o mesmo nome, e isso pode causar uma certa confusão.

Veja uma simples explicação:

  • O software de TI “Docker” é uma tecnologia de containerização que permite a criação e o uso de containers® Linux.
  • A comunidade open source do Docker trabalha gratuitamente para melhorar essas tecnologias em benefício de todos os usuários.
  • A empresa, Docker Inc., desenvolve a tecnologia com base no trabalho realizado pela comunidade do Docker, tornando-o mais seguro, e compartilha os avanços com a comunidade em geral. Então, ela oferece aos clientes corporativos o suporte necessário para as tecnologias que foram aprimoradas e fortalecidas.

Com o DOCKER, é possível lidar com os containers como se fossem máquinas virtuais modulares e extremamente leves. Além disso, os containers oferecem maior flexibilidade. Com eles, é possível criar, implantar, copiar e migrá-los de um ambiente para outro.Certo. 


Como o Docker funciona?

A tecnologia Docker usa o kernel do Linux e recursos do kernel, como Cgroups e namespaces, para segregar processos de modo que eles possam ser executados de maneira independente. O objetivo dos containers é criar essa independência: a habilidade de executar diversos processos e aplicativos separadamente para utilizar melhor a infraestrutura e, ao mesmo tempo, manter a segurança que você teria em sistemas separados.

As ferramentas de container, incluindo o Docker, fornecem um modelo de implantação com base em imagem. Isso facilita o compartilhamento de um aplicativo ou conjunto de serviços, incluindo todas as suas dependências, em vários ambientes. O Docker também automatiza a implantação do aplicativo (ou de conjuntos de processos que constituem um aplicativo) dentro desse ambiente de container.

Essas ferramentas desenvolvidas baseadas nos containers Linux (o que faz com que o Docker seja exclusivo e fácil de usar) oferecem aos usuários acesso sem precedentes a aplicativos, além da habilidade de implantar com rapidez e de ter total controle sobre as versões e distribuição.


O Docker utiliza a mesma tecnologia tradicional que os containers Linux?

Não. A tecnologia Docker foi desenvolvida inicialmente com base na tecnologia LXC, que a maioria das pessoas associa aos containers Linux “tradicionais”. No entanto, desde então, essa tecnologia tornou-se independente. O LXC era útil como uma virtualização leve, mas não oferecia uma experiência muito boa ao desenvolvedor ou usuário. A tecnologia Docker oferece mais do que a habilidade de executar containers: ela também facilita o processo de criação e construção de containers, o envio e o controle de versão de imagens, dentre outras coisas.

Os containers Linux tradicionais usam um sistema init capaz de gerenciar vários processos. Isso significa que aplicativos inteiros podem ser executados de maneira unificada. A tecnologia Docker incentiva e oferece as ferramentas para que os aplicativos sejam segregados em processos separados. Essa abordagem granular oferece algumas vantagens.


As vantagens dos containers Docker

Modularidade

A abordagem Docker para a containerização se concentra na habilidade de desativar uma parte de um aplicativo, seja para reparo ou atualização, sem interromper o aplicativo como um todo. Além dessa abordagem baseada em microsserviços, é possível compartilhar processos entre vários aplicativos da mesma maneira como na arquitetura orientada a serviço (SOA).

Camadas e controle de versão de imagens

Cada arquivo de imagem Docker é composto por uma série de camadas. Essas camadas são combinadas em uma única imagem. Uma nova camada é criada quando há alteração na imagem. Toda vez que um usuário especifica um comando, como executar ou copiar, uma nova camada é criada.

O Docker reutiliza essas camadas para a construção de novos containers, o que torna o processo de criação muito mais rápido. As alterações intermediárias são compartilhadas entre imagens, o que melhora ainda mais a velocidade, o tamanho e a eficiência. O controle de versões é inerente ao uso de camadas. Sempre que é realizada uma nova alteração, é gerado um changelog integrado, o que fornece controle total sobre as imagens do container.

Reversão

Talvez a melhor vantagem da criação de camadas seja a habilidade de reverter quando necessário. Toda imagem possui camadas. Não gostou da iteração atual de uma imagem? Simples, basta reverter para a versão anterior. Esse processo é compatível com uma abordagem de desenvolvimento ágil e ajuda a manter as práticas de CI/CD (integração e implantação contínuas) uma realidade em relação às ferramentas.

Implantação rápida

Antigamente, colocar novo hardware em funcionamento, provisionado e disponível, levava dias. E as despesas e esforço necessários para mantê-lo eram onerosos. Os containers baseados em docker podem reduzir o tempo de implantação de horas para segundos. Ao criar um container para cada processo, é possível compartilhar rapidamente esses processos similares com novos aplicativos. Como não é necessário inicializar um sistema operacional para adicionar ou mover um container, o tempo de implantação é substancialmente menor. Além disso, com a velocidade de implantação, é possível tanto criar dados, como destruir aqueles criados pelos containers, sem nenhuma preocupação e de maneira fácil e econômica.

Em resumo, a tecnologia Docker é uma abordagem mais granular, controlável e baseada em microsserviços que valoriza a eficiência

Site: https://www.docker.com/

Deixe uma resposta

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