Docker Essentials: A Developer Introduction


Containers are a standard way to package an application and all its dependencies so that the application can be moved between environments and run without changes. 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 and how to solve problems of advanced orchestration such as high availability, service discovery, and reconciliation.


  • Install and 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

Once you start building Docker images that you will want to share with your team, you should investigate IBM® Cloud Container Registry to safely store and access private Docker images in a highly available and scalable architecture.

IBM Cloud Container Registry provides a multi-tenant, highly available, and scalable private image registry that is hosted and managed by IBM. You can use the private registry by setting up your own image namespace and pushing Docker images to your namespace. As an added benefit, Vulnerability Advisor checks the security status of container images that are provided by IBM®, third parties, or added to your organization’s registry namespace. If the Container Scanner is installed in each cluster, the Vulnerability Advisor also checks the status of containers that are running.