Skip to main content

Arquitetura Interna – Componentes do Docker | Docker

  • Arquitetura Interna – Componentes do Docker | Docker

Docker Engine (dockerd)

O coração do sistema Docker. É o daemon que roda em background, expõe a API REST e gerencia todos os objetos Docker, como:

  • Imagens
  • Containers
  • Redes
  • Volumes

Docker CLI

A interface de linha de comando (comando docker). Funciona como o cliente, enviando requisições para a API do Docker Engine para que as ações sejam executadas.


containerd

Runtime de containers de alto nível. Responsável por gerenciar todo o ciclo de vida dos containers, incluindo:

  • Transferência de imagens (pull/push)
  • Armazenamento
  • Execução dos containers

runc

Runtime de baixo nível, compatível com OCI (Open Container Initiative). É um componente leve responsável exclusivamente por criar e rodar containers utilizando recursos do kernel Linux, como:

  • Namespaces
  • cgroups

Plugins & Extensões

Ferramentas essenciais que hoje vêm integradas ao Docker, como:

  • Docker Compose – orquestração de aplicações multicontainer
  • Buildx – construção avançada de imagens Docker

Dependências do Host

O Docker depende de funcionalidades específicas do sistema operacional (principalmente Linux), como:

  • Overlay2 (driver de armazenamento)
  • iptables
  • Drivers de rede

Esses componentes são essenciais para o funcionamento correto dos containers.


Fluxo de Execução

Quando você executa o comando:

docker run

O fluxo ocorre da seguinte forma:

  1. O Docker CLI envia a requisição
  2. O Docker Engine recebe e processa
  3. O containerd gerencia o ciclo de vida
  4. O runc cria e executa o container