Arquitetura do Docker e seus componentes para iniciantes

Vamos nos familiarizar com a arquitetura do Docker e seus componentes essenciais.


Suponho que você tenha um entendimento básico do Docker. Caso contrário, você pode consultar o artigo anterior.

Noções básicas sobre o Docker for Beginner – a tecnologia Container

Acredito que você entenda a importância do Docker no DevOps. Agora, por trás dessa ferramenta fantástica, é preciso haver uma arquitetura incrível e bem pensada. Não é?

Mas antes de falar sobre isso, deixe-me mostrar o sistema de virtualização anterior e atual.

Virtualização tradicional versus virtualização de nova geração

Anteriormente, costumávamos criar máquinas virtuais, e cada VM tinha um sistema operacional que ocupava muito espaço e o tornava pesado.

Agora, no caso do contêiner de docker, você tem um único sistema operacional e os recursos são compartilhados entre os contêineres. Por isso, é leve e inicializa em segundos.

Tradicional vs nova geração

Arquitetura do Docker

Abaixo está o diagrama simples de uma arquitetura do Docker.

Arquitetura do Docker

Deixe-me explicar os componentes de uma arquitetura docker.

Docker Engine

É a parte principal de todo o sistema Docker. O Docker Engine é um aplicativo que segue arquitetura cliente-servidor. Está instalado na máquina host. Existem três componentes no Docker Engine:

  • Servidor: É o daemon do docker chamado dockerd. Ele pode criar e gerenciar imagens do Docker. Contentores, redes, etc.
  • API Rest: É usado para instruir o daemon do docker o que fazer.
  • Interface da Linha de Comandos (CLI): É um cliente usado para inserir comandos do docker.

Cliente Docker

Os usuários do Docker podem interagir com o Docker por meio de um cliente. Quando qualquer comando do docker é executado, o cliente os envia ao dockerd daemon, que os executa. A API do Docker é usada pelos comandos do Docker. O cliente Docker pode se comunicar com mais de um daemon.

Registros do Docker

É o local em que as imagens do Docker são armazenadas. Pode ser um registro de janela de encaixe público ou um registro de janela de encaixe privado. O Docker Hub é o local padrão das imagens do Docker, o registro público de suas lojas. Você também pode criar e executar seu próprio registro privado.

Quando você executa comandos pull ou docker, a imagem requerida é puxada do registro configurado. Quando você executa o comando docker push, a imagem do docker é armazenada no registro configurado.

Objetos do Docker

Ao trabalhar com o Docker, você usa imagens, contêineres, volumes, redes; todos esses são objetos Docker.

Imagens

As imagens do Docker são modelos somente leitura com instruções para criar um contêiner do Docker. A imagem do Docker pode ser extraída de um hub do Docker e usada como está, ou você pode adicionar instruções adicionais à imagem base e criar uma imagem nova e modificada do Docker. Você pode criar suas próprias imagens de janela de encaixe também usando um arquivo de janela de encaixe. Crie um arquivo docker com todas as instruções para criar um contêiner e executá-lo; ele criará sua imagem de janela de encaixe personalizada.

A imagem do Docker possui uma camada base que é somente leitura e a camada superior pode ser gravada. Quando você edita um arquivo docker e o reconstrói, apenas a parte modificada é reconstruída na camada superior.

Recipientes

Depois de executar uma imagem do Docker, ele cria um contêiner do Docker. Todos os aplicativos e seu ambiente são executados dentro deste contêiner. Você pode usar a API do Docker ou a CLI para iniciar, parar, excluir um contêiner do docker.

Abaixo está um exemplo de comando para executar um contêiner do docker ubuntu:

docker execute -i -t ubuntu / bin / bash

Volumes

Os dados persistentes gerados pelo docker e usados ​​pelos contêineres do Docker são armazenados em Volumes. Eles são gerenciados completamente pelo docker através da CLI do docker ou da API do Docker. Os volumes funcionam em contêineres Windows e Linux. Em vez de persistir dados na camada gravável de um contêiner, é sempre uma boa opção usar volumes para ele. O conteúdo do volume existe fora do ciclo de vida de um contêiner, portanto, o uso do volume não aumenta o tamanho de um contêiner.

Você pode usar o sinalizador -v ou –mount para iniciar um contêiner com um volume. Neste comando de amostra, você está usando o volume geekvolume com o contêiner geekflare.

docker run -d –name geekflare -v geekvolume: / app nginx: mais recente

Redes

A rede do Docker é uma passagem pela qual todo o contêiner isolado se comunica. Existem principalmente cinco drivers de rede no docker:

  1. Ponte: É o driver de rede padrão para um contêiner. Você usa essa rede quando seu aplicativo está sendo executado em contêineres autônomos, ou seja, vários contêineres que se comunicam com o mesmo host do docker.
  2. Hospedeiro: Esse driver remove o isolamento da rede entre os contêineres e o host. É usado quando você não precisa de nenhum isolamento de rede entre host e contêiner.
  3. Sobreposição: Esta rede permite que serviços de enxame se comuniquem. É usado quando os contêineres estão em execução em diferentes hosts do Docker ou quando os serviços de enxame são formados por vários aplicativos.
  4. Nenhum: Este driver desativa toda a rede.
  5. macvlan: Este driver atribui o endereço mac aos contêineres para torná-los parecidos com dispositivos físicos. O tráfego é roteado entre contêineres através de seus endereços mac. Essa rede é usada quando você deseja que os contêineres pareçam um dispositivo físico, por exemplo, ao migrar uma configuração de VM.

Conclusão

Espero que isso lhe dê uma idéia sobre a arquitetura do Docker e seus componentes essenciais. Navegue pelo Docker para saber mais e, se estiver interessado em receber treinamento prático, confira este Curso de domínio do Docker.

TAG:

  • Docker

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map