Containerization
A container packages an application with its dependencies, so "it works on my machine" stops being an excuse. A basic Dockerfile (FROM, COPY, RUN, CMD, EXPOSE, WORKDIR), the main CLI commands, port mapping, and a simple docker-compose.yml for an app-plus-database setup are enough to guarantee consistency across environments, without needing orchestration such as Kubernetes.
Starting Points
- Docker. Get Started.
- KodeKloud (2018). Docker for the Absolute Beginner - Hands-On. Packt.
- Nickoloff, J., & Kuenzli, S. (2019). Docker in Action (2nd ed.). Manning.
- Poulton, N. (2025). Docker Deep Dive (5th ed.). Packt.
Key Points
- You write a basic Dockerfile that correctly builds an image for a simple application.
- You build and run a container from a Dockerfile.
- You explain why containerization is useful (consistency across environments, isolation).
- You use basic Docker commands (
build,run,ps,stop,logs) to manage containers. - You write a basic
docker-compose.ymlto run multiple containers together (e.g. app + database). - You explain why Docker Compose is useful compared to running containers individually.