🗺️ A Arquitetura OCI: Docker Daemon vs Podman Daemonless

flowchart TD
    subgraph DOCKER_ARCH ["Docker Tradicional (Centralizado)"]
        CLI_D["Docker CLI"] --> |"Socket Unix (/var/run/docker.sock)"| DAEMON["Docker Daemon (dockerd - Roda como ROOT) 🚨"]
        DAEMON --> CONT_D["Containers"]
    end

    subgraph PODMAN_ARCH ["Podman (Daemonless & Rootless) ⚡"]
        CLI_P["Podman CLI (alias docker=podman)"]
        --> |"Fork/Exec Direto via Conmon / crun"| CONT_P["Containers (Rodando no User Namespace sem privilégios root)"]
    end

    style DOCKER_ARCH fill:#ffebee,stroke:#d32f2f,stroke-width:1.5px
    style DAEMON fill:#b71c1c,stroke:#7f0000,stroke-width:1.5px,color:#ffffff
    style PODMAN_ARCH fill:#e8f5e9,stroke:#4caf50,stroke-width:2px
    style CLI_P fill:#00897b,stroke:#004d40,stroke-width:2px,color:#ffffff

📖 Fundamentos e Aplicação

Por muitos anos, o Docker foi sinônimo exclusivo de containers. No entanto, a padronização das especificações pela Open Container Initiative (OCI) abriu caminho para uma nova geração de ferramentas mais seguras, sem daemons pesados e que operam sem privilégios de superusuário (Rootless).

1. O Ecossistema Red Hat / OCI:

  • Podman (Pod Manager): CLI 100% compatível com a sintaxe do Docker (alias docker=podman), mas sem processo centralizado rodando em background (Daemonless).
  • Buildah: Construção de imagens OCI eficientes sem necessidade de Dockerfiles ou containers em execução.
  • Skopeo: Inspeção, cópia e sincronização de imagens entre registros remotos (Docker Hub, Quay, ECR) sem precisar fazer download (pull) local das camadas.

2. Runtimes para macOS e Ambientes Mínimos:

  • Colima / Lima: Máquinas virtuais Linux ultraleves para macOS/Linux com suporte direto a runtimes containerd ou docker sem cobrança de licenciamento proprietário.
  • Containerd & Nerdctl: O runtime padrão dos nós do Kubernetes (K8s) utilizado diretamente com a CLI nerdctl.