Linter Dockerfile en línea — Reglas DL estilo Hadolint

Lint Dockerfile con sintaxis + ~26 reglas DL Hadolint. ShellCheck en RUN no incluido.

Cargando…
Linter Dockerfile, comprobaciones DL al estilo de Hadolint
Detecta tags latest, ADD vs COPY, USER faltante y otros problemas de alto valor antes de que CI ejecute la CLI completa de Hadolint.

Notas para desarrolladores

Las reglas DL se ejecutan sobre dockerfile-ast; los errores de sintaxis de dockerfile-utils son independientes. Las reglas ShellCheck (SC*) quedan fuera de alcance en v1. Las severidades info vs warning siguen nuestro mapeo DL. Fija las imágenes base tras corregir advertencias DL3006/DL3007.

Cuándo elegir esta opción

Revisar rápido un Dockerfile pegado en un comentario de revisión. Formar a personas nuevas con los códigos DL oficiales y enlaces a la wiki. Comprobar antes de enviar a un pipeline con registro de imágenes. Comparar con la CLI de Hadolint en archivos pequeños.

Ejemplos prácticos

Tag latest + ADD + apt sin fijar

Entrada Dockerfile

FROM ubuntu:latest MAINTAINER [email protected] RUN apt-get update && apt-get install curl RUN echo "starting build" ADD app.tar.gz /app/ WORKDIR relative EXPOSE 80 CMD echo start

Resaltados de lint

Advertencias: DL3007 (latest), DL4000 (MAINTAINER), DL3020 (ADD), DL3008/DL3014/DL3015 (apt), DL3000 (WORKDIR relativo), DL4001 (sin USER), DL3025 (CMD en forma shell).

Fragmento mejorado estilo producción

Entrada Dockerfile

FROM ubuntu:22.04 RUN apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends curl=7.81.0-1 \ && rm -rf /var/lib/apt/lists/* COPY --chown=app:app src /app/ USER app WORKDIR /app CMD ["./server"]

Resaltados de lint

Menos advertencias DL: apt fijado, USER sin privilegios de root, CMD en formato JSON, COPY en lugar de ADD.

Explorar herramientas DevOps relacionadas

Formatea antes con format Dockerfile. Para entornos Compose: validate Docker Compose.

FAQ del linter Dockerfile

Reglas DL sin ShellCheck

¿Es Hadolint completo?

No. Aplica unas 26 reglas DL más comprobaciones de sintaxis. ShellCheck dentro de RUN no está incluido en la v1.

¿Por qué códigos DL?

Coinciden con el wiki oficial de Hadolint para que puedas comparar con CI y aprender la remediación.

¿Errores vs advertencias?

Los problemas de sintaxis de dockerfile-utils son errores. Las reglas DL son en su mayoría advertencias o info.

Formato, validación y minificación de Terraform HCL, formato y lint de Dockerfile, validación de Docker Compose y .env.