Learn the fundamental distinction between containers and virtual machines. This comprehensive course takes you through the complete container lifecycle and the various stages of development. You will receive training on installing Docker across multiple platforms, creating your first container and image, pushing and pulling from the registry hub, and installing your own local registry. Master volumes, container networking, container orchestration, and container debugging techniques. You will build an HTTP server image, run it as a service, and connect to it. Additionally, you will learn how to create a swarm and prepare your containers for production environments.
Course Audience:
- This course suits developers, operations managers, and IT professionals who wish to learn Docker and containerization technologies.
Requirements:
- No prior knowledge of Docker is required to begin this course.
- Docker is open-source software, so no subscriptions are necessary.
Course Outline
Getting started with Docker
- What is Docker?
- What is the difference between VM and Containerization?
- Installing Docker
- Download your first image
- Docker Flow
Handling Docker Containers
- Run your first container
- Terminology
- Working with a Docker image
- Working with an interactive container
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
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 services in a container
- Overview of container networking
- Envisaging Container as a Service (CaaS)
- Exposing container services
Sharing data volumes
- Sharing volumes between containers
- Practicality of data sharing between containers
- Sharing volumes between host and container
- Practicality of host data sharing
- Avoiding common pitfalls
- Filesystem versus Volume
Orchestrating containers
- Linking containers
- Orchestrating
- Example of Docker Compose
Testing with Docker
- Overview of TDD
- Testing your code inside Docker
- Integrating Docker testing into Jenkins
Debugging containers
- Control groups
- Docker debugging commands
Securing Docker containers
- Is Docker secure?
- Best practices for container security
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
Swarms
- Set up your Docker environment
- Build an image and run it as one container
- Scale your app to run multiple containers
- Distribute your app across a cluster
- Stack services by adding a backend database
- Deploy your app to production