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
13:51 MIN
Using containers to improve security and deployment
DevSecOps: Security in DevOps
56:21 MIN
Security best practices for containers and Kubernetes
Microservices: how to get started with Spring Boot and Kubernetes
11:13 MIN
Hardening the CI/CD pipeline with automated security tools
You can’t hack what you can’t see
06:30 MIN
Securing container images against common vulnerabilities
Kubernetes Security Best Practices
1:13:05 MIN
Securing containers and infrastructure as code (IAC)
Maturity assessment for technicians or how I learned to love OWASP SAMM
18:43 MIN
Improving security and performance with small container images
5 steps for running a Kubernetes environment at scale
09:22 MIN
Securing container images and the software supply chain
Security Challenges of Breaking A Monolith
38:31 MIN
Leveraging containerization for improved security posture
Kubernetes Security - Challenge and Opportunity
Featured Partners
Related Videos
Securing Your Web Application Pipeline From Intruders
Milecia McGregor
Walking into the era of Supply Chain Risks
Vandana Verma
Turning Container security up to 11 with Capabilities
Mathias Tausig
DevSecOps: Security in DevOps
Aarno Aukia
Reusing apps between teams and environments through Containers
Adrian Kosmaczewski
Supply Chain Security and the Real World: Lessons From Incidents
Adrian Mouat
Compose the Future: Building Agentic Applications, Made Simple with Docker
Mark Cavage, Tushar Jain, Jim Clark & Yunong Xiao
Securing secrets in the GitOps Era
Davide Imola
Related Articles
View all articles



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

DevOps Engineer – Kubernetes & Cloud (m/w/d)
epostbox epb GmbH
Berlin, Germany
Intermediate
Senior
DevOps
Kubernetes
Cloud (AWS/Google/Azure)

DevOps Architect Pipeline / Dev Container / OpenShift
Siemens AG
Berlin, Germany
C++
GIT
CMake
Linux
DevOps
+7




DevOps Security Engineer with Golang Development Focus
SAP AG
Sankt Leon-Rot, Germany
Junior
Go
Azure
DevOps
Puppet
Docker
+6

Software Engineer - SDLC Security - Public Artifacts
Datadog
Paris, France
DevOps
Python
Kubernetes
Configuration Management

