Docker
Beginner
1 min read
Vulnerability Scanning and Image Security
Example
# Trivy - open-source vulnerability scanner
# Scan an image from Docker Hub
trivy image node:20-alpine
# Scan a local image
trivy image myapp:latest
# Fail CI if HIGH or CRITICAL CVEs exist
trivy image --exit-code 1 --severity HIGH,CRITICAL myapp:latest
# Docker Scout (built into Docker CLI)
docker scout cves myapp:latest
docker scout recommendations myapp:latest
docker scout compare myapp:2.1.0 myapp:2.0.0
# Distroless base image (Dockerfile snippet)
# FROM node:20-alpine AS build
# WORKDIR /app
# COPY . .
# RUN npm ci --omit=dev
#
# FROM gcr.io/distroless/nodejs20-debian12
# COPY --from=build /app /app
# CMD ["/app/src/server.js"]
# Scratch base for Go binary
# FROM golang:1.22-alpine AS build
# RUN CGO_ENABLED=0 go build -o /app .
# FROM scratch
# COPY --from=build /app /app
# ENTRYPOINT ["/app"]
# Check image user
docker inspect myapp:latest --format '{{.Config.User}}'
Related Resources
Docker Reference
Complete tag & property list
Docker How-To Guides
Step-by-step practical guides
Docker Exercises
Practice what you've learned
More in Docker