Problema Conexão n8n Service Layer CIA-NAV-APP

🔍 Manual: Resolução do Problema de DNS CIA-NAV-APP no n8n
📋 Problema Identificado
O container n8n não conseguia resolver o hostname CIA-NAV-APP devido ao isolamento de rede Docker. O hostname existia no /etc/hosts do host mas não no container.
🛠️ Solução Provisória (Temporária)
Passo 1: Identificar o Container n8n
docker ps | grep n8n
Explicação: Lista containers em execução e filtra por "n8n" para encontrar o ID do container.
Passo 2: Adicionar Entradas no /etc/hosts do Container
# Para hostname em maiúsculodocker exec --user root [CONTAINER_ID] sh -c 'echo "172.100.0.21 CIA-NAV-APP" >> /etc/hosts'# Para hostname em minúsculodocker exec --user root [CONTAINER_ID] sh -c 'echo "172.100.0.21 cia-nav-app" >> /etc/hosts'
Explicação:
--user root: Executa como root para ter permissões de escrita
[CONTAINER_ID]: Substitua pelo ID real do container (ex: e817da2593de)
Adiciona mapeamentos de hostname para IP no arquivo hosts do container
Passo 3: Adicionar Entradas no /etc/hosts do Host (Sistema)
# Para hostname em minúsculo (se não existir)echo "172.100.0.21 cia-nav-app" >> /etc/hosts
Explicação: Garante que ambos os formatos funcionem tanto no host quanto no container.
Passo 4: Testar a Solução Provisória
# Teste dentro do containerdocker exec [CONTAINER_ID] ping -c 1 cia-nav-appdocker exec [CONTAINER_ID] ping -c 1 CIA-NAV-APP# Teste no hostping cia-nav-appping CIA-NAV-APP
Explicação: Verifica se ambos os formatos de hostname resolvem corretamente.
🔧 Solução Permanente (Docker Swarm)
Passo 1: Atualizar o Serviço Docker Swarm
docker service update --host-add "CIA-NAV-APP:172.100.0.21" --host-add "cia-nav-app:172.100.0.21" interno_n8n
Explicação:
--host-add: Adiciona mapeamento customizado de hostname para IP
interno_n8n: Nome do serviço Docker Swarm
Esta configuração sobrevive a reinicializações de containers
Passo 2: Verificar a Configuração Aplicada
docker service inspect interno_n8n | grep -A 10 "Hosts"
Explicação: Confirma que os mapeamentos foram adicionados na configuração do serviço.
Passo 3: Aguardar o Deploy
# Aguardar alguns segundos para o container ser substituídodocker ps | grep n8n
Explicação: O Docker Swarm para o container antigo e inicia um novo com a nova configuração.
Passo 4: Testar a Solução Permanente
# Obter o novo CONTAINER_IDdocker ps | grep n8n# Testar ping nos dois formatosdocker exec [NOVO_CONTAINER_ID] ping -c 1 cia-nav-appdocker exec [NOVO_CONTAINER_ID] ping -c 1 CIA-NAV-APP
Explicação: Verifica se a configuração permanente está funcionando no novo container.
✅ Verificações Finais
Status do Serviço:
docker service ls | grep n8n
Resultado esperado: Status 1/1 (1 tarefa rodando de 1 total)
Container Ativo:
docker ps | grep n8n
Resultado esperado: Container em execução (status "Up")
Teste Funcional no n8n:
# Dentro do workflow do n8n, usar:# - Host: cia-nav-app# - Host: CIA-NAV-APP# - IP: 172.100.0.21 (sempre funciona)
📝 Resumo das Mudanças
Tipo    Onde    Comando    Persistência
Provisório    Container    Modificação /etc/hosts    Até reinicialização
Provisório    Host    Modificação /etc/hosts    Persistente
Permanente    Docker Swarm    docker service update --host-add    Sempre
⚠️ Importante
A solução permanente é recomendada para produção
A solução provisória foi usada apenas para teste imediato
Ambos os formatos (cia-nav-app e CIA-NAV-APP) foram configurados para evitar problemas de case-sensitive
Resultado: O n8n agora consegue resolver CIA-NAV-APP permanentemente, mesmo após reinicializações. 🎯

Você achou esse artigo útil?