Docker Fundamentals Course Outline
Overview
You will learn the difference between the container and the virtual machine. This course will take you through the life cycle of the container and the various stages of development. Moreover, this course will train you to install Docker on various platforms, will create your first container, image, push and pull to the registry hub, will learn how to install your own local registry, volumes, container networking, orchestrating containers, and will learn how to debug your containers. You will build an HTTP server image, run as a service, and connect to it. Also, Finally, you will learn how to create
a swarm and prepare your containers for production.
Who this class is for
It is for developer, operation managers, and IT professionals who would like to learn Docker.
Prerequisites
No prior knowledge of Docker is required.
Docker is open-source, so no subscriptions are required.
Number of Days
3 days
COURSE OUTLINE
Getting started with Docker
What is Docker?
What is the difference between VM and Containerization?
Installing Docker
Docker Architecture
Docker Flow
Download your first image
Run your first container
Terminology
Working with Docker image
Working with interactive container
Handling Docker Containers
Controlling Docker Container
Detach Docker
Container Lifecycle
Housekeeping commands
Docker's integrated image building system
Docker logs
Building images
Docker's integrated image building system
A quick overview of the Dockerfile's syntax
Dockerfile build instructions
How to remove images
How to remove containers
Best practices for writing Dockerfiles and Multi-Stage Builds
Publishing image
Understanding the Docker Hub
How to push images to the Docker Hub
Automatic building of images
Private repositories on the Docker Hub
Creating organizations on the Docker Hub
Running your private Docker infrastructure
The Docker registry and index
Docker registry use cases
Run your own index and registry
Push the image to a newly created registry
Running services in a container
Overview of container networking
User-Defined Networks
Envisaging Container as a Service (CaaS)
Exposing container services
Retrieving the container port
Sharing data volumes
Stateful versus Stateless Container/Services
Docker Volumes and Stateful Persistence
Volume’s Types
Anonymous Volumes—Within Container’s scope
Named Volumes—Outside Container’s scope
Sharing volumes between containers
Sharing volumes between host and container
Running a PostgreSQL Container with a Volume
Filesystem vs. Volume
Orchestrating containers
User-defined networks
Orchestrating
Example of docker-compose
Testing with Docker
What is CI/CD?
Integrating Docker testing into Jenkins (CI/CD)
Debugging containers
Namespaces
Process level isolation
Network Namespace
Mount Namespace
Control groups
Docker debugging commands
Securing Docker containers
Non-root privilege in Dockerfile
Is Docker secure?
Best practices for container security
Swarms
Set up your cluster
Scale your app to run on more nodes
Distribute your app across a cluster
Nodes Types and Load-balancing
View outline in Word
XDOC01