Practical Docker for developers: Managing Containers, Images, and Registries
Course Description
This course dives deep into the practical, day-to-day usage of Docker for software developers. You will learn how to efficiently manage containers, master the art of building custom Docker images tailored to your applications, and effectively use registries like Docker Hub to store and distribute them. Through a series of hands-on labs, you'll move from theory to practice, covering the entire container lifecycle and culminating in setting up a multi-container application stack. This course is designed to empower you to seamlessly integrate Docker into your development workflow, enhancing your application's portability and reliability.
Who is this course for
This course is specifically designed for developers who want to become proficient in using Docker for their projects. It's a perfect fit for:
Software Developers (Backend, Frontend, Full-Stack): Who want to containerize their applications for consistent development and deployment environments.
Engineers new to containerization: Who have a basic understanding of Docker and want to learn how to apply it practically in their daily work.
DevOps Professionals: Who want to solidify their understanding of the developer experience with Docker.
Course Objectives
Upon successful completion of this course, you will be able to:
Understand Docker Images: Explain the concept of Docker image layering and immutability.
Manage Container Lifecycles: Confidently create, start, stop, restart, and remove Docker containers.
Interact with Containers: Run containers in interactive mode and manage processes running inside them.
Use Docker Registries: Create a Docker Hub account, pull public images, and push your own custom images.
Build Multi-Service Applications: Set up a complete application environment, such as a MySQL database with a phpMyAdmin interface, using multiple linked Docker containers.
Prerequisites
To get the most out of this course, you should have:
Foundational Docker Knowledge: You should understand the basic concepts of what Docker is, what containers and images are.
Basic Command-Line Skills: Comfort using a terminal or command prompt is essential.
A Working Docker Installation: You must have Docker installed and running on your local machine to follow along with the hands-on labs.
Course outline
Section 1: Understanding Docker Images
Introduction to Docker Images
Hands-on Lab: Docker Image Layering and Immutability
Different Types of Docker Images
Section 2: Managing Docker Containers
Introduction to Docker Containers
Hands-on Lab: Docker Container Lifecycle Basic Operations
Hands-on Lab: Using Interactive Mode in Docker
Process Management within a Docker Container
Section 3: Advanced Container Operations
Docker Container Lifecycle
Section 4: Working with Docker Registries
What is a Docker Registry?
Introduction to Docker Hub
Hands-on Lab: Creating a Docker Hub Account and Using an Image from Docker Hub
Section 4: Setting Up Applications in Docker
Hands-on Lab: Setting Up a MySQL Container with Docker and Environment Variables
Hands-on Lab: Setting Up MySQL with phpMyAdmin in Docker