O que é um linter de Dockerfile?
Um linter de Dockerfile é uma ferramenta de análise estática que examina as instruções do seu Dockerfile e sinaliza possíveis problemas. Ele verifica erros comuns, vulnerabilidades de segurança, como execução como root, sintaxe obsoleta, camadas ineficientes, ausência de health checks e tags de imagens base sem versão fixada. Assim como ferramentas como o Hadolint, ele fornece feedback classificado por severidade e sugestões objetivas para ajudar você a criar imagens de contêiner menores, mais seguras e fáceis de manter.
Como usar o Linter de Dockerfile
- 1Cole o conteúdo do Dockerfile na área de texto.
- 2O linter analisa automaticamente cada instrução e exibe uma lista categorizada de resultados.
- 3Cada resultado inclui o número da linha, o nível de severidade (erro, aviso ou informação), o ID da regra, uma descrição e uma sugestão de correção.
- 4Confira os totais no topo e corrija primeiro os erros, depois os avisos e, por fim, as recomendações informativas.
Casos de uso comuns
Auditoria antes do push
Audite Dockerfiles antes de enviá-los a um registro de contêineres para identificar problemas antecipadamente.
Boas práticas de CI/CD
Aplique boas práticas de Dockerfile em pipelines de CI/CD para manter a qualidade das imagens consistente.
Aprendizado de Docker
Aprenda boas práticas de Docker com feedback em tempo real e sugestões práticas aplicadas aos seus próprios Dockerfiles.
Revisão de código
Revise Dockerfiles durante code reviews para identificar problemas de segurança, oportunidades de otimização e sintaxe obsoleta.
Perguntas frequentes
Quais regras o linter de Dockerfile verifica?
O linter verifica mais de 15 regras em três níveis de severidade: erros (ausência de FROM, tag latest, ADD em vez de COPY e CMD duplicado), avisos (flags de apt-get, uso de sudo, MAINTAINER obsoleto, ausência de HEALTHCHECK ou USER e CMD em shell form) e informações (combinação de camadas RUN, .dockerignore e caminhos absolutos em WORKDIR).
Este linter equivale ao Hadolint?
A ferramenta cobre as regras mais comuns e relevantes do Hadolint em uma interface executada no navegador, sem exigir instalação. Para uma análise abrangente em CI/CD, considere usar o Hadolint junto com esta ferramenta para verificações rápidas.
Por que devo fixar a versão da imagem base?
Usar latest ou uma imagem base sem tag pode fazer com que os builds falhem inesperadamente quando a imagem upstream for atualizada. Fixar uma versão específica, como node:20-alpine, garante builds reproduzíveis e previsíveis.
Por que executar como root em um contêiner representa um risco de segurança?
Executar como root dentro de um contêiner aumenta a superfície de ataque. Se alguém comprometer a aplicação, terá privilégios de root no contêiner, o que pode tornar escapes de contêiner mais perigosos. Adicionar uma instrução USER reduz esse risco.
O conteúdo do meu Dockerfile é enviado a algum servidor?
Não. A análise é executada localmente no navegador, e o conteúdo do Dockerfile não é enviado a servidores.