Back to Catalog

Docker Essentials: A Developer Introduction

BeginnerCourse

Learn how to use containers for your applications. Create and run your first Docker container. Then, learn how to run containers in production and solve problems of orchestration such as high availability, service discovery, and reconciliation.

4.6 (4k+ Reviews)

Language

  • English

Topic

  • Containers

Enrollment Count

  • 102.01K

Skills You Will Learn

  • Containers, Docker

Offered By

  • IBMDeveloperSkillsNetwork

Estimated Effort

  • 3 hours

Platform

  • SkillsNetwork

Last Update

  • May 9, 2025
About this Course

About this course

Docker is a development tool and a virtualization technology  used to automate the deployment of applications inside software containers. A container on the other hand is a standard way to package an application that contains all the configuration files, and other dependencies to operate the application. Containers work by isolating the application inside the container so that everything outside the container can be standardized.

Docker has provided a set of tools to simplify the use of containers. This has led to massive adoption of containers by developers and operators. In this course, you will focus mostly on Docker container technologies.

In this course, you'll follow a series of hands-on labs that demonstrate how to use containers for your applications. You'll start with the basics: creating and running your first Docker containers. By the end of the course, you'll get a brief introduction to running containers in production with the and how to solve problems of advanced orchestration such as high availability, service discovery, and reconciliation.

Course syllabus

Set up Docker

Lab 1: Run your first container

  • What are containers?
  • 1. Run a container
  • 2. Run multiple containers
  • 3. Remove the containers

Lab 2: Add CI/CD value with Docker images
  • Docker images
  • 1. Create a Python app (without using Docker)
  • 2. Create and build the Docker image
  • 3. Run the Docker image
  • 4. Push to a central registry
  • 5. Deploy a change
  • 6. Understand image layers
  • 7. Remove containers

Lab 3. Orchestrate applications with Docker Swarm
  • Container orchestration overview
  • 1. Create your first swarm
  • 2. Deploy your first service
  • 3. Scale your service
  • 4. Apply rolling updates
  • 5. Reconcile problems with containers
  • 6. Determine how many nodes you need
  • Final exam
Requirements
You don't need to know anything about containers to take this course, and no extensive programming experience is required. However, you must know how to run command-line tools from your workstation.

If you don't have Docker already, you need install Docker Community Edition (CE) or use the use Play-with-Docker for all the labs in this course. Docker installations are available from store.docker.com for your Mac, Windows, or Linux machine.

This course shows you how to install Docker.

You must also have a Docker Hub account to complete Lab 3. If you don't already have one, go to Play-with-Docker and follow the prompts to create an account.

Instructors

John Zaccone

Solution Architect and Enabler at IBM

I am an engineer with 10+ years of experience in software development, architecture design, Dev(Sec)Ops, and agile process. My expertise is in helping clients migrate to modern application architecture and teaching their technical audience (developers, operations, architects, and security SMEs) the broad ecosystem of technology used in this new architecture. I'm heavy in the container ecosystem space and spend a lot of time automating applications deployed to Kubernetes such as with GitOps. I also have a strong Linux and systems background and have ease in setting up complicated environment infrastructures satisfying requirements for security, latency, cost, and automation.

Read more

Contributors

Rohit Arora

Full-Stack Software Engineer

A lifelong learner who develops cool technology. Join me to gain knowledge about the breadth of software development 😎.

Read more