Kaique Mitsuo Silva Yamamoto
Arquitetura software

Ecossistema Docker

Visão consolidada do ecossistema Docker: ferramentas, componentes e fluxo de desenvolvimento. Baseado em docs.docker.com.


O que é Docker

Plataforma aberta para desenvolver, empacotar e executar aplicações em containers. Permite isolar aplicações da infraestrutura, entregar software de forma consistente e escalar com facilidade.


Componentes principais

ComponenteDescrição
Docker EngineDaemon (dockerd) que gerencia imagens, containers, redes e volumes
Docker ClientCLI (docker) que se comunica com o daemon via API REST
Docker DesktopAplicação que inclui Engine, Compose, Kubernetes, BuildKit
Docker RegistryArmazena imagens (Docker Hub é o registro público padrão)

Dockerfile e build

RecursoDescrição
DockerfileInstruções para construir imagens: FROM, RUN, COPY, ENV, CMD, etc. Reference
BuildKitMotor de build padrão (23.0+). Paralelização, cache eficiente, multi-stage. BuildKit
Docker BuildxExtensões de build: multi-plataforma, builders customizados
Multi-stage buildsImagens menores, estágios separados para build e runtime

Docker Compose

Orquestra múltiplos containers em um único ambiente. Define serviços, redes e volumes em YAML.


Docker Hub e registries

  • Docker Hub — Registro público, repositórios ilimitados, webhooks, integração GitHub
  • Registries privados (self-hosted ou cloud)
  • docker pull, docker push

Docker Swarm

Orquestração nativa de clusters Docker (modo swarm).

  • docker swarm init, docker swarm join
  • Serviços, réplicas, rede overlay
  • Alternativa leve ao Kubernetes para ambientes menores

Objetos Docker

ObjetoUso
ImagensTemplates read-only para criar containers
ContainersInstâncias executáveis de imagens
NetworksConexão entre containers
VolumesPersistência de dados
PluginsExtensões (storage, network)

Recursos