What if you could `exec` into a container without the Docker daemon? This talk reveals the Linux kernel features that make it possible.
#1about 1 minute
Understanding how the docker exec command really works
The talk explores what happens under the hood when you run `docker exec` and demonstrates how to achieve the same result without using Docker.
#2about 1 minute
Deconstructing the Docker stack to its Linux primitives
Docker is built on top of lower-level components like containerD and runC, which ultimately rely on core Linux kernel features like Cgroups and namespaces.
#3about 3 minutes
Limiting container resources using Linux Cgroups
Cgroups are a Linux kernel feature used to limit and account for resource usage, such as CPU, memory, process IDs, and I/O for a collection of processes.
#4about 4 minutes
A live demo of limiting process CPU with Cgroups
A practical demonstration shows how to create a new Cgroup, define a CPU usage limit in the `cpu.max` file, and assign a running process to it.
#5about 6 minutes
Isolating processes from each other using Linux namespaces
Namespaces provide process isolation by virtualizing system resources like network interfaces, mount points, process IDs, and user IDs for each container.
#6about 9 minutes
Replicating `docker exec` with the `nsenter` command
By finding a container's process ID on the host, you can use the `nsenter` command to enter all of its namespaces and gain a shell inside the container without using Docker.
#7about 3 minutes
Key takeaways and advice for deeper technical understanding
A summary of how Cgroups and namespaces power containers is followed by advice for developers to dig deeper into technologies, focus on one topic at a time, and share their knowledge.
Related jobs
Jobs that call for the skills explored in this talk.
Why Attend a Developer Event?Modern software engineering moves too fast for documentation alone. Attending a world-class event is about shifting from tactical execution to strategic leadership.
Skill Diversification: Break out of your specific tech stack to see how the industry...
Daniel Cranney, Chris Heilmann
Dev Digest 215: Agent Memory, JS2026, Googlebot Analysis & Canvas❤️HTMLInside last week’s Dev Digest 215 .
🗿 Make AI talk like a caveman
🧠 A guide to context engineering for LLMs
🤖 Simon Willison on agentic engineering
🔐 Axios supply chain attack post mortem
🛡️ Designing AI agents to resist prompt injection
🎨 HTML in c...
Chris Heilmann
All the videos of Halfstack London 2024!Last month was Halfstack London, a conference about the web, JavaScript and half a dozen other things. We were there to deliver a talk, but also to record all the sessions and we're happy to share them with you. It took a bit as we had to wait for th...
Daniel Cranney
Dev Digest 172: CODE100 is back, Linux Containers & PHP in Node!Inside last week’s Dev Digest 172 .
🍎 All WDC Web Tech announcements
📦 Linux containers on MacOS
🧑💻 Take a CODE100 challenge to join the WeAreDevelopers World Congress
📝 Training AI without GDPR issues
📱 Mobile port tracking and restricted Android ...
From learning to earning
Jobs that call for the skills explored in this talk.