Docker has made application containers the quasi-standard for cloud native application delivery. Docker combines management tools for containers, networks, and volumes with a rather simple mechanism for automating the creation of container images. These principles also apply to the Docker alternative Podman. In addition to the administration of containers, it is necessary to package applications in container images, to precisely understand the requirements of containerized applications and to optimize applications specifically for containerized runtime environments. This course teaches all the essential features of Docker and Podman with numerous exercises.
Who should attend
The training is aimed at developers and administrators as well as architects and decision-makers with a high level of technical interest.
The participants have to master the basics of Linux system administration. They need to be proficient in using the command line, editing files on the command line, and managing system services.
Participants learn how to use application containers with Docker and/or Podman. This includes configuring individual containers, networks, and volumes, as well as orchestration with Docker Compose. In addition, participants will learn how to create Dockerfiles / Containerfiles for packaging applications in container images.
Introduction to application containers
- Principle of container virtualization
- Properties of application containers
- Architecture of Docker and Podman
- Similarities and differences between Docker and Podman
- System environment of an application container
- Start, stop and manage containers
- Interactive containers
- Container for non-interactive services
Create and manage container images
- Dockerfiles / Containerfiles
Orchestration with Docker Compose
- Container runtimes
- Overview of namespaces, CGroups and capabilities
- Representation of container networks in Linux
- Representation of container volumes in Linux
Overview(!) of advanced topics
- Clustering with Docker Swarm
- Request routing with Traefik
- Docker on Windows
- Continuous Integration / Continuous Delivery and DevOps
- Microservices and immutable servers
- Status and persistence in containers
- Output and logging
- Design patterns for containers