Voltar para blog

Como resolver o erro "not a directory" e falhas de certificado no Wazuh com Docker

28/07/2025 · 1 min · Cibersegurança

Compartilhar

Instalar o Wazuh com Docker Compose costuma ser rápido, mas alguns detalhes de versionamento e preparação de certificados podem quebrar toda a stack.

Este guia cobre dois erros clássicos:

O problema: Docker confundindo arquivo com diretório

Erro típico:

Error response from daemon: ... error mounting ".../wazuh-certificates/root-ca.pem" ... not a directory: unknown: Are you trying to mount a directory onto a file (or vice-versa)?

Por que acontece?

No docker-compose.yml, o Wazuh mapeia arquivos .pem. Se o arquivo não existe no host, o Docker pode criar um diretório com aquele nome. Depois, o Dashboard tenta ler esse diretório como arquivo e falha.

A segunda armadilha: YAML com erro 404

Outro erro comum:

docker-compose -f generate-certs.yml run --rm generator
# Non-string key at top level: 404

Isso normalmente ocorre quando o arquivo foi baixado de URL errada no GitHub. Em vez do YAML, você baixa uma página HTML de 404 Not Found.

Solução definitiva

Passo 1: limpar ambiente quebrado

docker-compose down
docker container prune -f
rm -rf wazuh-certificates/

Opcional (reset de imagens):

docker rmi wazuh/wazuh-dashboard:4.9.0 wazuh/wazuh-indexer:4.9.0 wazuh/wazuh-manager:4.9.0

Passo 2: clonar versão correta

Evite baixar arquivos avulsos. Clone a versão exata:

git clone https://github.com/wazuh/wazuh-docker.git -b v4.9.0 wazuh_novo
cd wazuh_novo/single-node

Passo 3: gerar certificados

docker-compose -f generate-certs.yml run --rm generator

Passo 4: validar arquivos

ls -l wazuh-certificates/

Verifique se os itens são arquivos (-rw-...), e não diretórios (d...).

Passo 5: subir stack

docker-compose up -d

Regra de ouro

No Wazuh via Docker, mantenha sempre alinhados:

  1. versão das imagens
  2. arquivos YAML da mesma tag/branch
  3. certificados gerados no mesmo conjunto de configuração

Esse alinhamento evita horas de troubleshooting desnecessário.

CC BY-NC

Este post está licenciado sob CC BY-NC.

Comentários

Participe da discussão abaixo.