Repository files navigation
What containers are and why they matter
Containers vs Virtual Machines
Docker overview: engine, CLI, registry
1.1 Architecture & terminology
Docker daemon, client, images, containers, registries
Layers & the UnionFS concept
docker pull, run, ps, stop, rm, rmi
Detached mode, ports (-p), environment vars (-e), volumes (-v)
Inspecting containers: docker logs, exec, inspect
2. Building and managing images
2.1 Dockerfile essentials
Key instructions: FROM, RUN, COPY, WORKDIR, CMD, EXPOSE, ENV
Build images (docker build), tagging, caching
Lightweight and secure image best practices
Docker Hub and private registries
docker push, docker login, image tags and versioning
3.1 Volumes and persistence
Bind mounts vs named volumes
Typical use case: persisting database data
Default bridge network
Custom networks (docker network create, connect)
Exposing services, container-to-container communication
Intro to Docker Compose
Structure of a docker-compose.yml
docker compose up/down, scaling services, environment variables
Daemonless and rootless approach
CLI compatibility: alias docker=podman
5.2 Key differences & when to use
Rootless containers for better isolation
Pod concept (groups of containers)
Integration with systemd
Compatibility notes and ecosystem tradeoffs
You can’t perform that action at this time.