Skip to content
Latchkey

Docker-in-Docker (DinD) - Definição do Glossário de CI/CD

O Docker-in-Docker roda um daemon Docker aninhado dentro de um container de CI para que o job possa construir imagens por conta própria. Funciona, mas geralmente precisa do modo privileged e tem ressalvas reais.

O Docker-in-Docker (DinD) roda um daemon Docker dentro de um container para que um job de CI containerizado possa construir ou executar seus próprios containers; ele normalmente requer o modo privileged, o que enfraquece o isolamento.

O DinD é comum em CI baseado em Kubernetes, mas vem sendo cada vez mais substituído por builders sem daemon como o BuildKit ou o Kaniko.

Tradeoffs

O DinD precisa de um container privileged, não compartilha o layer cache do host por padrão e pode ser lento. Montar o socket Docker do host é mais rápido, mas concede ao job acesso equivalente a root no host, o que é pior para o isolamento.

Guias relacionados