Software Development, Testing, and Delivery with Docker

Advanced

12 students completed the lab in ~1h:12m

Total available time: 2h:0m

Be the first to rate this lab!

Lab Overview

Docker has propelled containers to the forefront of software development and delivery. In this Lab, you will learn how to take an existing application and containerize and connect its tiers using Dockerfiles, user-defined networks, and the Docker Compose tool. You will also see how you can use Docker to simplify your software processes at each of the development, test, and delivery phases. The Lab environment simulates a real-world scenario with separate development, test, and production servers. You will create your own Docker Registry to manage different versions of the application and share the container images across environments. You will also take a software update from development, through test, to production deployment using Docker.

Lab Objectives

Upon completion of this lab you will be able to:

  • Containerize an existing application
  • Connect containers using user-defined networks
  • Use Docker Compose to create multi-container environments
  • Set up a private Docker Registry
  • Develop, test, and deliver containerized software
  • Release updates to production with containers

Lab Prerequisites

You should be familiar with the following:

  • Docker containers, images, and registries
  • Working at the command line in Linux
  • Connecting to virtual machines using SSH

The Getting Started with Docker on Linux Lab is a good way to fulfill the prerequisites.

Lab Environment

Before completing the lab instructions, the environment will look as follows:

After completing the lab instructions, the environment should look similar to:

Follow these steps to learn by building helpful cloud resources

Logging into the Microsoft Azure portal

Begin the Lab by logging into the Microsoft Azure portal

Connecting to the Lab Provisioned Virtual Machine

Use an SSH client to connect to the virtual machine created for you

Getting to Know the Application

Use a development server to build, test, and run an existing MEAN stack application

Containerizing the Application

Use a Dockerfile to package the application in its own Docker container

Creating Your Own Docker Registry

Manage your container images with your own Docker Registry

Composing Multi-Container Environments

Use Docker Compose to run and test the application

Composing the Production Environment

Extend the Compose file with settings for a production environment

Developing and Releasing an Update to Production

Release an update using the Docker flow