promovaweb-devops-docker
Docker Environment Check
Executa uma auditoria completa do ambiente Docker em execução no servidor e reporta conformidade, problemas e sugestões.
Instruções de Execução
Quando esta skill for invocada, siga exatamente este roteiro:
Passo 1 — Coletar informações do ambiente
Execute os comandos abaixo usando a ferramenta Bash para coletar o estado atual do ambiente Docker. Execute todos em paralelo onde possível.
docker version
docker info
docker node ls
docker network ls
docker network inspect network_swarm_public
docker volume ls
docker service ls
docker stack ls
Passo 2 — Executar todos os checks abaixo
Execute cada bloco de verificação e registre os resultados (✅ OK / ⚠️ Atenção / ❌ Erro).
Passo 3 — Gravar o resultado
Grave o relatório completo em um arquivo chamado docker-setup.audit.md.
Checks de Verificação
1. Versão do Docker Engine
- Verificar a versão do Docker Engine (
docker version) - Deve estar em uma versão estável e recente (recomendado: 25.x ou superior)
- Alertar se estiver em versão inferior a 24.x (funcionalidades do Swarm mais antigas)
- Alertar se Client e Server tiverem versões diferentes
- Verificar se o componente
containerdestá disponível - Verificar se o componente
runcestá disponível
2. Docker Swarm
Verifique o status do Swarm (docker info):
Swarm: active— o Swarm deve estar ativado- ❌ Erro se
Swarm: inactive— todo o setup da Promovaweb requer Swarm Is Manager: true— o nó atual deve ser manager para gerenciar os stacks- ⚠️ Atenção se
Is Manager: false(nó worker — comandos de stack não funcionarão aqui) Managers— deve ter ao menos 1 manager ativoNodes— verificar quantos nós estão no cluster
3. Nós do Cluster
Execute docker node ls e verifique:
- Deve haver ao menos 1 nó com status
Ready - ❌ Erro se algum nó estiver com status
Down - ⚠️ Atenção se algum nó estiver com availability
PauseouDrain - Verificar se o nó local tem role
Leader(manager principal) - Reportar a contagem de nós: managers e workers
4. Rede network_swarm_public
Execute docker network ls e docker network inspect network_swarm_public:
- ❌ Erro crítico se a rede
network_swarm_publicnão existir — todos os stacks da Promovaweb dependem dela - Deve ser do driver
overlay - Deve ter
scope: swarm - Deve ter
attachable: true(para que serviços possam se conectar) - ⚠️ Atenção se o subnet/IPAM não estiver configurado
- Verificar se a rede tem serviços conectados (indica que está em uso)
Como criar a rede (se não existir):
docker network create --driver=overlay --attachable network_swarm_public
5. Outras Redes Importantes
Verifique se as redes padrão do Docker estão presentes (docker network ls):
bridge— rede padrão para containers standalonehost— rede para containers com acesso direto ao hostingress— rede de ingress do Swarm (criada automaticamente com o Swarm)- ⚠️ Atenção se a rede
ingressnão existir (indica problema no Swarm)
6. Volumes Externos
Execute docker volume ls e verifique os volumes utilizados pelos stacks da Promovaweb:
Volumes esperados (dependem dos stacks implantados):
| Volume | Stack |
|---|---|
vol_certificates |
Traefik |
portainer_data |
Portainer |
vol_postgres |
PostgreSQL |
vol_redis |
Redis |
vol_mongodb |
MongoDB |
vol_mysql |
MySQL |
vol_n8n |
n8n |
vol_evolution |
Evolution API |
vol_mautic |
Mautic |
vol_metabase |
Metabase |
vol_chatwoot |
Chatwoot |
vol_kestra |
Kestra |
vol_uptime_kuma |
Uptime Kuma |
- ⚠️ Atenção para volumes listados que não correspondem a nenhum stack ativo (possível lixo)
- ⚠️ Atenção para stacks ativos sem volume correspondente (dados podem estar sendo perdidos)
7. Stacks e Serviços Ativos
Execute docker stack ls e docker service ls:
- Listar todos os stacks em execução
- Para cada serviço verificar:
REPLICAS— deve mostrarX/X(ex:1/1,2/2); ❌ Erro se0/X- ❌ Erro se qualquer serviço tiver
0/Nréplicas (serviço inativo) - ⚠️ Atenção se algum serviço tiver menos réplicas do que o esperado
- Verificar se o stack
traefikestá presente (pré-requisito para todos os outros)
8. Informações do Sistema (docker info)
Verifique os detalhes do sistema:
Operating System— deve ser Linux (Ubuntu, Debian, etc.)Architecture— verificar se éx86_64ouaarch64CPUs— reportar quantidade de CPUs disponíveisTotal Memory— reportar memória total disponívelStorage Driver— deve seroverlay2(driver recomendado)- ⚠️ Atenção se o Storage Driver não for
overlay2 Logging Driver— verificar o driver de logs em uso (json-fileé o padrão)Docker Root Dir— deve ser/var/lib/dockerRegistry— deve apontar parahttps://index.docker.io/v1/(Docker Hub padrão)
9. Segurança e Boas Práticas
Com base nas informações coletadas, verificar:
- Docker socket exposto na rede? (
docker info | grep -i tcp) — ❌ Erro crítico de segurança Experimental: false— modo experimental não deve estar ativo em produçãoLive Restore Enabled: true— recomendado para manter containers rodando durante restart do daemon- ⚠️ Atenção se
Live Restore Enabled: false(restart do Docker derruba todos os containers) - Verificar se há imagens sem tag (
<none>) em excesso — sinal de limpeza necessária
10. Limpeza e Manutenção
Verificar itens que indicam necessidade de manutenção:
- Execute
docker system dfpara verificar uso de espaço em disco - ⚠️ Atenção se uso total > 80% do espaço disponível
- Verificar se há volumes
dangling(não utilizados por nenhum container) - Verificar se há imagens não utilizadas ocupando espaço
Comandos de limpeza (não executar automaticamente — apenas sugerir):
# Remover recursos não utilizados (imagens, containers, networks, build cache)
docker system prune -f
# Remover também volumes não utilizados (CUIDADO: irreversível)
docker system prune --volumes -f
Formato do Relatório de Saída
Ao final, produza um relatório estruturado:
# Relatório de Auditoria — Docker Environment
Data: <data atual>
Servidor: <hostname obtido via docker info>
## Resumo
- Total de checks: X
- ✅ OK: X
- ⚠️ Atenções: X
- ❌ Erros: X
## Ambiente
- Docker Engine: vX.X.X
- Sistema Operacional: <OS>
- Arquitetura: <arch>
- CPUs: X | Memória: X GB
- Storage Driver: overlay2
## Resultados por Categoria
### 1. Versão do Docker
✅ Docker Engine vXX.X.X: versão estável
✅ Client e Server: mesma versão
...
### 2. Docker Swarm
✅ Swarm: active
✅ Is Manager: true
✅ Managers: 1 | Nodes: X
...
### 3. Nós do Cluster
✅ node1: Ready / Leader
✅ node2: Ready / Worker
❌ node3: Down — investigar conectividade
...
### 4. Rede network_swarm_public
✅ network_swarm_public: existe
✅ Driver: overlay | Scope: swarm
✅ attachable: true
✅ Serviços conectados: X
...
### 5. Redes Docker
✅ bridge: presente
✅ ingress: presente (Swarm ok)
...
### 6. Volumes Externos
✅ vol_certificates: presente (Traefik)
✅ portainer_data: presente (Portainer)
⚠️ vol_orphan_xyz: volume sem stack correspondente — considere remover
...
### 7. Stacks e Serviços
✅ traefik: 1/1 réplicas
✅ portainer_agent: 2/2 réplicas (global)
❌ n8n_main: 0/1 réplicas — serviço inativo!
...
### 8. Sistema
✅ Storage Driver: overlay2
⚠️ Live Restore: false — considere habilitar
...
### 9. Segurança
✅ Docker socket: não exposto na rede
⚠️ Live Restore desabilitado: restart do Docker derruba serviços
...
### 10. Manutenção
✅ Uso de disco: 45% (saudável)
⚠️ 3 volumes dangling encontrados — execute docker volume prune
...
## Ações Recomendadas (por prioridade)
### Crítico (resolver imediatamente)
1. ...
### Recomendado
1. ...
### Opcional / Manutenção
1. ...
More from promovaweb/skills-devops
promovaweb-devops-review-evolution-go-stack
Verifica a Stack do Evolution Go. Além disso analisa parâmetros, rotas Traefik, volumes, recursos e conformidade do stack Evolution Go de Acordo com as Recomendações da Promovaweb.
9promovaweb-devops-docker-volumes
Implemente armazenamento persistente com Docker volumes, bind mounts e estratégias de backup
9promovaweb-devops-dockerfile-basics
Aprenda os fundamentos do Dockerfile e as melhores práticas para criar imagens de container prontas para produção
9promovaweb-devops-review-chatwoot-stack
Verifica a Stack do Chatwoot. Além disso analisa parâmetros, rotas Traefik, volumes, recursos e conformidade do stack Chatwoot de Acordo com as Recomendações da Promovaweb.
9promovaweb-devops-docker-networking
Configure a rede (networking) do Docker para containers, incluindo bridge, overlay e service discovery
9promovaweb-devops-review-kestra-stack
Verifica a Stack do Kestra. Além disso analisa parâmetros, rotas Traefik, volumes, recursos e conformidade do stack Kestra de Acordo com as Recomendações da Promovaweb.
9