Madhu Akula
A practical guide to writing secure Dockerfiles
#1about 2 minutes
Why Dockerfile security is a critical foundation
Dockerfiles act as the blueprint for container images, making their security essential for preventing supply chain attacks and infrastructure compromise.
#2about 5 minutes
Following official Docker best practices for images
Start with small base images, use multi-stage builds, and manage the build context with a .dockerignore file to create efficient and secure containers.
#3about 4 minutes
Advanced security practices for hardening Dockerfiles
Enhance security by running containers as a non-root user, using COPY instead of ADD, avoiding hardcoded secrets, and pulling from trusted image registries.
#4about 4 minutes
Using Docker BuildKit to handle secrets securely
Docker's BuildKit allows mounting secrets and forwarding SSH agents during the build process, preventing sensitive credentials from being stored in image layers.
#5about 5 minutes
Automating checks with linters like Hadolint and Dockle
Use automated linters like Hadolint for best practices and Dockle for CIS benchmark compliance to enforce security standards in your CI/CD pipeline.
#6about 2 minutes
Reducing attack surface with Docker-slim
Docker-slim minifies container images by removing unnecessary files and can automatically generate seccomp and AppArmor profiles to harden runtime security.
#7about 3 minutes
Analyzing image layers for security with Dive
The Dive tool provides a layer-by-layer inspection of a Docker image, helping to identify inefficiencies and potential security risks like backdoors.
#8about 4 minutes
Introducing Open Policy Agent for custom policies
Open Policy Agent (OPA) and its language Rego provide a general-purpose engine for enforcing custom, organization-specific security policies on structured data like Dockerfiles.
#9about 6 minutes
Writing custom Dockerfile policies with Conftest
Leverage Conftest to write and apply custom Rego policies that validate Dockerfiles against specific organizational rules, such as only allowing images from a trusted private registry.
#10about 2 minutes
Next steps for implementing Dockerfile security
Implement security best practices early using linters in your IDE, integrate automated checks into CI/CD pipelines, and create standardized custom policies for your organization.
Related jobs
Jobs that call for the skills explored in this talk.
Matching moments
02:30 MIN
Securing container images against common vulnerabilities
Kubernetes Security Best Practices
02:35 MIN
Using containers to improve security and deployment
DevSecOps: Security in DevOps
07:59 MIN
Securing containers and infrastructure as code (IAC)
Maturity assessment for technicians or how I learned to love OWASP SAMM
06:25 MIN
Security best practices for containers and Kubernetes
Microservices: how to get started with Spring Boot and Kubernetes
01:52 MIN
Securing container images and the software supply chain
Security Challenges of Breaking A Monolith
01:22 MIN
Leveraging containerization for improved security posture
Kubernetes Security - Challenge and Opportunity
04:53 MIN
Securing Docker builds and verifying script downloads
Supply Chain Security and the Real World: Lessons From Incidents
02:57 MIN
Introducing the Docker Agent for automating the SDLC
Compose the Future: Building Agentic Applications, Made Simple with Docker
Featured Partners
Related Videos
Reusing apps between teams and environments through Containers
Adrian Kosmaczewski
Walking into the era of Supply Chain Risks
Vandana Verma
Securing Your Web Application Pipeline From Intruders
Milecia McGregor
Turning Container security up to 11 with Capabilities
Mathias Tausig
DevSecOps: Security in DevOps
Aarno Aukia
Securing Secrets in the GitOps era
Alex Soto
Supply Chain Security and the Real World: Lessons From Incidents
Adrian Mouat
Security Challenges of Breaking A Monolith
Reinhard Kugler
Related Articles
View all articles



From learning to earning
Jobs that call for the skills explored in this talk.

iits-consulting GmbH
Munich, Germany
Intermediate
Go
Docker
DevOps
Kubernetes

Friedrich Kicherer GmbH & Co. KG
Ellwangen (Jagst), Germany
Junior
Intermediate
Senior
GIT
Docker
JavaScript

MediaCologne Kommunikationsmedien GmbH
Hürth, Germany
Intermediate
Senior
Docker
Gitlab




