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.
Matching moments
07:05 MIN
How container isolation works in the Linux kernel
Kubernetes Security - Challenge and Opportunity
07:06 MIN
Understanding Docker fundamentals for application deployment
Rust and Docker: Let's build an AI-powered app!
01:59 MIN
Understanding container isolation with namespaces and cgroups
Docker network without Docker
07:11 MIN
Exploring the Docker ecosystem and image layers
Database DevOps with Containers
02:31 MIN
Introducing bootable containers and the CNCF donation
Bootable AI Containers with Podman Desktop
02:20 MIN
Why the creator of Docker is interested in WebAssembly
WebAssembly: The Next Frontier of Cloud Computing
01:35 MIN
Why Dockerfile security is a critical foundation
A practical guide to writing secure Dockerfiles
02:35 MIN
Using containers to improve security and deployment
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
Building AI Solutions with Rust and DockerIn 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...
Learning Kubernetes made easy with KubeCampusLearning to use Kubernetes? KubeCampus by Kasten offers free educational content for all skill levels to get you started!Kubernetes is an open-source system for deploying, scaling and managing containerized applications. It allows you to deploy your ...
From learning to earning
Jobs that call for the skills explored in this talk.