Introduction to Containers
Containers vs Virtual Machines
A virtual machine bundles a full guest operating system on top of a hypervisor, giving strong isolation at the cost of size and startup time. A container shares the host kernel and packages only the application and its dependencies, making it lightweight and fast to start.
Because containers share the host kernel, isolation relies on kernel features like namespaces (separating process, network, and mount views) and cgroups (limiting CPU and memory). Weakening these controls is what turns a container boundary into a security problem.
Docker Basics
Docker is the most common tool for building and running containers. An image is an immutable template; a container is a running instance of that image. Images are described by a Dockerfile and stored in registries.
docker pull nginxdownloads an image from a registrydocker run -d nginxstarts a detached containerdocker pslists running containersdocker exec -it <id> shopens a shell inside one
Building a Local Lab
For safe practice you only need your own machine. Install Docker, then add a lightweight local Kubernetes distribution such as kind or minikube so you can create and destroy clusters at will.
docker --version
kind create cluster --name lab
kubectl get nodesEverything in this course should be performed only against this disposable cluster or another cluster you own and control.
Unlike a virtual machine, a container shares the host's...
- Docker & Image Security 6 min
- Kubernetes Fundamentals 6 min
- Common Misconfigurations 6 min
- Attacking Clusters 6 min
- Supply Chain Security 6 min
- Cluster Hardening 6 min
Buy the course to unlock the remaining 7 lessons, the exam and the certificate.
Buy course — $9.99