Outline
- Brief history: Linux containers and Docker inception
- Container concepts: Host, engine, daemon, client, image, container, layer
- Container images: exploring Docker Hub, pulling images from Docker Hub and private registries, exploring local image cache, loading images into local image cache
- Running containers: Long running containers, throw-away containers, exposing ports, setting environment variables, sharing data with the host, setting limits.
- Exploring container state: Listing containers, status and resource usage, standard streams, stopping containers, killing containers, pausing containers, removing containers.
- Creating images: Images from existing containers, building images using Dockerfile, selecting base image, defining image parameters, removing images.
- Distributing images: Through a registry or as a TAR archive, squashing images, minimizing
- Pipelines: Integrating Docker containers into a software delivery pipeline.
- Networking: Creating networks and "linking" containers, handling communication with the host, port fowarding, managing different network types.
- Orchestrating: Creating Docker Compose configuration for defining containers, networks and volumes.
- Clustering: Introduction into Kubernetes, configuring, deployment, services, scaling, monitoring.