Duration
2 days
Introduction
Lightweight container technology is revolutionizing IT infrastructure environments, and Docker containers are the frontrunners in this new era of enterprise ready container platforms. With the easy portability that Docker affords, organizations have the freedom to build and manage applications and deploy them across multiple infrastructures. This greatly increases operational efficiency and developer productivity, allowing applications to be run seamlessly across one server or deployed across multiple servers.
Over 700 million Docker containers are in use today, with over 10000 companies adopting Docker technology. Docker currently represents 83% of all containers in use. Containers enable a developer to package up an application with all of the parts, dependencies and libraries it requires, and ship it out as one single package. In this way, the developer can be assured that the application will operate other Linux machines even when the customized settings on the machine differ from the one used to write and test the code on.
Objectives
After completing this module, participants will learn the following:
- Understand the data management and ability to work with each type in Docker projects.
- Ability to build and work with Dockerfile and multi-stage Dockerfile.
- Understand orchestration architecture, the challenges and opportunities.
- Understand the Swarm Basics and ability to implement distributed Docker design.
- Understand and ability to design High Availability distributed architecture.
- Ability to work with various Swarm service management.
- Identify and work with various Docker network interfaces.
- Ability to work with Docker Stage and build scalable multi-service apps.
Prerequisite
- Having a basic knowledge of Docker.
- Having a basic knowledge of Linux shell commands is recommended but not mandatory.
Audience
- Software Developers
- Software Architect
- Network Administrators
- Software Project Managers
Course Outline
The course content will be delivered according to this schedule (E.g. typically a short course has a maximum of 7 hours per day, 9:00 am to 5:00 pm with an hour for lunch)
DAY 1
0900-1045
- Preparing the lab environment
- Docker and Image basics (Recap)
1045-1100
Morning Break
1100-1300
Data Management in Docker
- Docker Volume
- Docker BInd Mounts
- Docker tmpfs Mounts
1300-1400
Lunch Break
1400-1545
Containerizing an App
- Dockerfile
- Multi-stage Build
- Docker-compose File
1545-1600
Afternoon Break
1600-1700
Other useful operations
- Dangling Images
- Docker Search
- Restart Policies
DAY 2
0900-1045
Orchestration
- Swarm Architecture
- Swarm Security Components
1045-1100
Morning Break
1100-1300
Swarm Operations
- Swarm Basics
- High Availability and Quorum
- Swarm Service Management
Docker Networking
- Docker Networking Concept
- Docker Network Drivers
- Single-host Bridge
1300-1400
Lunch Break
1400-1545
Docker Networking (continue)
- Single-host Bridge
- Multi-host Overlay
- MACVLAN
- Service Discovery
Docker Stacks
- Docker Stacks Concept
- Docker-stack File
1545-1600
Afternoon Break
1600-1700
Building Scalable Multi-service App
- Docker Secret Management
- Docker Update Management
- Docker-stack Build Consideration
Closing discussion
Programme scope, delivery arrangements and suitability are confirmed during enquiry.