Problema
Muita gente encontra o erro "cgroups: cgroup mountpoint does not exist" ao rodar builds Docker dentro de containers, especialmente usando GitLab CI com Kubernetes.
Contexto
Esse erro acontece porque o Docker tenta acessar o sistema de controle de recursos do Linux, mas em ambientes containerizados isso nem sempre está disponível por padrão. O uso de Docker-in-Docker (DinD) complica ainda mais a situação, pois requer configuração adequada do ambiente.
Como evitar
- Verifique se seu runner está usando o modo privileged. Sem isso, o Docker não consegue acessar certos recursos do host.
- Configure o host do Kubernetes para montar corretamente os cgroups. Pode ser necessário ajustar o YAML do seu pod, incluindo a montagem do
/sys/fs/cgroup.
- Considere usar alternativas ao DinD, como o modo Docker outside of Docker, onde o build roda direto na máquina host.
Pergunta
Para quem já passou por isso, qual estratégia vocês adotaram para minimizar o impacto no custo operacional e na complexidade do setup?
Vamos trocar ideia, galera. Como vocês evitam esse tipo de problema na prática?
Tags
kubernetes, docker, ci
Já passei por isso, o segredo é sempre garantir que o runner rode em modo privileged e montar o cgroup no YAML. Mas o custo de manter essa configuração, às vezes, é maior do que usar uma VM dedicada só pra builds.
🚦
Concordo, Stack. Aqui no time, tentamos evitar DinD ao máximo. Quando precisa, a gente faz o setup certinho do privileged e da montagem do cgroup.