Introdução à arquitetura do Docker

Essa tecnologia do Docker usa o kernel do Linux, como Cgroups e namespaces, para separar o processo e executá-los sem nenhuma dependência. Esse recurso independente é aquele que tornou o docker um sucesso, executando uma instância ou aplicativo individual ao mesmo tempo e fez uma melhor utilização da infraestrutura. As ferramentas do Docker e do contêiner fornecem um modelo de implantação baseado em imagem que facilita o compartilhamento de um aplicativo em vários ambientes. As ferramentas construídas sobre os contêineres tornam o Docker único, rápido, flexível, independente e fácil de usar. Neste tópico, vamos aprender sobre a arquitetura do Docker.

O que é o Docker?

A palavra Docker compreende várias coisas, como ferramentas de um projeto de código aberto, o principal suporte do projeto e as ferramentas diretamente suportadas pela empresa. No campo de TI, o Docker é uma tecnologia de contêiner que é usada para criar e usar contêineres Linux. A comunidade de estivador de código-fonte aberto trabalha para aprimorar essas tecnologias e obter mais benefícios para os usuários. A empresa que se baseia na comunidade do Docker o torna mais confiável, seguro, facilita e compartilha os recursos avançados da empresa. Com o Docker, é fácil controlar os contêineres, como máquinas leves, modulares e virtuais, e também é usado para criar, implantar, copiar e movê-los da área circundante para o ambiente.

Arquitetura do Docker

O Docker Engine é uma parte importante do sistema completo. O Docker Engine é um serviço que cumpre a infraestrutura cliente-servidor e está configurado na máquina convidada.

Os três componentes importantes são

  1. Servidor: O servidor é o daemon do docker chamado dockerd, que pode gerenciar e criar contêineres, imagens, redes, etc. do Docker
  2. API Rest : a API Rest controla o daemon do docker em seus processos
  3. CLI: Command Line Interface é uma interface do usuário usada para inserir comandos na janela de encaixe

Cliente do Docker: os usuários do Docker podem se comunicar com o Docker por meio do host. Se algum comando do docker for executado, o host os moverá para o daemon do docker, o que os eliminará. A API do docker é manipulada por comandos do docker. O cliente Docker pode ativar a interação com várias instâncias.

Registros do Docker: o hub do Docker é o local de armazenamento das imagens do Docker de um registro público. Ele pode ser usado como um registro de docker privado ou um registro de docker público. Os clientes também podem criar e executar seu próprio registro privado

Objetos do Docker

Os clientes que funcionam com o Docker usam volumes, contêineres, imagens, redes e todos os objetos disponíveis.

1. Imagens

As imagens da janela de encaixe estão no padrão somente leitura com comandos para projetar um novo contêiner de janela de encaixe. A imagem da janela de encaixe pode ser recuperada de um hub da janela de encaixe e utilizada. Ele pode adicionar etapas extras à última imagem e criar uma imagem de janela de encaixe modificada. Um cliente pode criar suas imagens de janela de encaixe usando um arquivo de janela de encaixe. A primeira etapa é criar um contêiner que crie um arquivo de janela de encaixe e, com as instruções necessárias, crie sua própria imagem. Imagem do Docker, uma camada abaixo é somente leitura e a primeira camada pode ser gravada. Um cliente pode editar e modificar apenas a camada superior de uma imagem do Docker.

2. Contentores

O contêiner do Docker é criado após a execução de uma imagem do Docker. Todas as instâncias e aplicativos são executados dentro do contêiner. Um cliente pode usar a API do Docker para excluir, iniciar ou parar o contêiner.

Este é um comando de amostra para executar um contêiner de docker:

docker execute -i -t ubuntu / bin / bash

3. Volumes

Os dados atuais executados pelo docker são utilizados por contêineres do Docker e salvos em Volumes. Todo o sistema é controlado através da API se a janela de encaixe. Volumes aplicados nas plataformas Linux e Windows. Em vez disso, para editar informações em uma camada editável de contêiner, é melhor utilizar volumes para escrever O conteúdo do volume está presente fora do contêiner, para não afetar o tamanho e as propriedades do contêiner.

use o sinalizador -v ou –mount para iniciar um volume em um contêiner.

Se o cliente usar volume geek com o contêiner,

docker execute -d –name geekflare -v geekvolume: / app nginx: latest

4. Redes

A rede do Docker é uma passagem de comunicação para todos os contêineres isolados.

Os drivers de rede na janela de encaixe: A ponte é o driver de rede fixo de um contêiner. os clientes ocupam essa rede para aplicativos em execução em contêineres autoportantes, ou seja, muitos contêineres interagindo com hosts docker comuns. O host é um driver que elimina a segregação da rede entre os contêineres e o host.

Sobreposição: a rede presta serviços de equipe para interagir com outras pessoas. Isso será aplicado apenas se o contêiner estiver sendo executado em vários serviços de convidados ou equipe do Docker gerados por muitos aplicativos. Um driver desconecta toda a rede chamada como driver Nenhum

Macvlan: O driver atribui um endereço exclusivo no MAC a todos os contêineres para se parecerem com eles, como sistemas de hardware. Eles controlam o tráfego entre contêineres com seus endereços MAC. A rede está ativada, se necessário. por exemplo, quando a migração da configuração da máquina virtual.

Benefícios do Docker

Vamos ver alguns dos benefícios do Docker

  • Retorno do investimento e economia de custos: o Docker pode reduzir o custo, facilitando o mínimo de recursos de infraestrutura. Permite que o sistema de engenharia seja econômico devido a amplas aplicações executadas em uma configuração simples
  • Padronização e produtividade: o Docker fornece padronização, fornecendo desenvolvimento, implantação e teste contínuos para os servidores no ambiente de produção. É rápido, o que permite fazer replicações e redundância.
  • Eficiência do IC: cria a imagem do docker e o mesmo é usado efetivamente em todo o processo de implantação.
  • Compatibilidade e manutenção: é mais portátil e fácil para instalação e depuração.
  • Simplicidade e configurações mais rápidas: os dados podem ser criados e destruídos em uma fração de segundos em um intervalo acessível em um tempo de resposta mínimo.
  • Implantação rápida: gerencia a implantação em segundos para uma ampla variedade de ambientes
  • Implantação e teste contínuos: o Docker garante ambientes lógicos do desenvolvimento à produção. Os contêineres do Docker são configurados para gerenciar internamente todas as configurações e dependências. Portanto, o cliente pode usar o mesmo contêiner do desenvolvimento à produção, sem discrepâncias ou intervenção manual.

Conclusão - Arquitetura do Docker

O Docker suporta plataformas multi-nuvem como AWS, GCP e permite que instâncias sejam executadas dentro de instâncias do Amazon EC2, servidores de espaço em rack ou caixa virtual. Ele também suporta a pilha aberta e azul da Microsoft para gerenciar chefe, fantoche e ansible. O benefício do uso do docker é a segurança. O Docker verifica se as instâncias em execução nos contêineres são completamente separadas e isoladas, fornecendo controle sobre o fluxo e o gerenciamento do tráfego. quando um cliente executa um comando dock pull ou docker run, a imagem desejada do docker é retirada do registro configurado. Quando um cliente executa um comando push do docker, a imagem do docker é armazenada no registro configurado.

Artigos recomendados

Este é um guia para a arquitetura do Docker. Aqui discutimos a arquitetura, os objetos e os benefícios do Docker com os drivers de rede. Você também pode consultar os seguintes artigos para saber mais -

  1. O que é o Docker Swarm?
  2. Instalar o Docker
  3. Alternativas do Docker
  4. Comandos do Docker
  5. Arquitetura do Docker Swarm

Categoria: