Madhu Akula

A practical guide to writing secure Dockerfiles

Your Dockerfile is a critical form of infrastructure as code. Learn to write secure, minimal images and automate security checks before deployment.

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.
Milly

Milly
Vienna, Austria

Intermediate
.NET
TypeScript
+1
Milly

Milly
Vienna, Austria

Intermediate
.NET
TypeScript
+1

Featured Partners

Related Articles

View all articles
CH
Chris Heilmann
Dev Digest 138 - Are you secure about this?
Hello there! This is the 2nd "out of the can" edition of 3 as I am on vacation in Greece eating lovely things on the beach. So, fewer news, but lots of great resources. Many around the topic of security. Enjoy! News and ArticlesGoogle Pixel phones t...
Dev Digest 138 - Are you secure about this?
DC
Daniel Cranney
Building AI Solutions with Rust and Docker
In recent years, artificial intelligence has surged in popularity in the world of development. While Python remains a popular choice in the realm of AI, Rust - often known as Rust Lang - is quickly emerging as a formidable alternative.Rust programmin...
Building AI Solutions with Rust and Docker
CH
Chris Heilmann
Dev Digest 125 - Duck and Cover
This issue was written live at the WeAreDevelopers World Congress in Berlin with us being incredibly busy, but this shouldn't mean you don't get some hot resources. News and ArticlesLet's start with AI news: Google and Microsoft consume more power th...
Dev Digest 125 - Duck and Cover

From learning to earning

Jobs that call for the skills explored in this talk.

Full-Stack Developer

Friedrich Kicherer GmbH & Co. KG
Ellwangen (Jagst), Germany

Junior
Intermediate
Senior
GIT
Docker
JavaScript