Duration: 4 Days
Course Overview
The following outline describes a four day course covering containers as an architecture, Docker, build and test automation with Docker using Azure DevOps framework as the CI/CD automation environment, and touching on the role of Kubernetes in multi-container applications.
The course contains multiple demos and hands-on activities in which attendees are walked through some typical Docker usage scenarios as well as learning the fundamentals of how to setup and use containers. These examples are all using .NET development tools/languages, with Azure DevOps as the build and deployment engine.
How can I attend my course?
Course Content
Introduction to containerisation
• Stating the problem
• Monolithic versus componentised applications
• Reusability and services
• Versioning
• What is a container?
• Benefits of using containerised applications
Virtualisation and containers
• Virtual machines and hypervisors
• Type 1 versus type 2 hypervisors
• Cloud hosting models: IaaS, PaaS, SaaS
• Container foundations: Linux namespaces
• Control groups
• The role of the union file system
Docker
• Architecture of Docker
• Docker on Windows and Linux
• Docker images and containers
• Launching, suspending, restarting and stopping
• Docker command line and scripting
• Attaching and detaching docker terminals
Docker images and registries
• The Docker image as a library component
• The Docker Hub registry
• Customising and committing images
• Scripted containers
• Dockerfiles: automating container customisation
• Dockerfile commands
• Dockerfile syntax and format
Docker registries
• Registries versus repositories
• Creating repositories under Docker Hub
• Private registries
Docker volumes
• Containers and the union file system
• Mountable storage in containers
• Creating and managing data volumes
• Mounting volumes in Dockerfiles
Docker and networking
• Interconnecting containers
• Distributed applications and microservices architecture
• Network architecture of Docker containers
• Docker bridge network
• Custom networks
• Port mapping and security
Cluster management and Kubernetes
• What is Kubernetes?
• Configuring and managing container clusters
• Elastic scaling and load balancing
• Fault tolerance and container restarts
• Cluster security
Docker and Azure DevOps
• Azure DevOps as a CI/CD pipeline orchestrator
• Hosting development in containers
• Build, test and deploy automatically using Docker
• Multi-container builds and Kubernetes automation Description