The hands-on lab is part of this learning path
Refactoring a Monolithic .Net Application to use Cloud Services
Ready for the real environment experience?
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.
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
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.
Before completing the lab instructions, the environment will look as follows:
After completing the lab instructions, the environment should look similar to:
July 9th, 2018 - Updated to use newer versions of Docker and Docker Compose. Also upgraded VMs to SSD SKUs.
About the Author
Logan has been involved in software development and research for over eleven years, including six years in the cloud. He is an AWS Certified DevOps Engineer - Professional, MCSE: Cloud Platform and Infrastructure, Google Cloud Certified Associate Cloud Engineer, and Certified Kubernetes Administrator (CKA). He earned his Ph.D. studying design automation and enjoys all things tech.