Using Marathon to Schedule Docker Containers on DC/OS
DC/OS was declared end of life October 31, 2021 and the content is no longer maintained
Description
Lab Overview
DC/OS includes the powerful container orchestration tool called Marathon. Marathon supports multiple container types including Docker. In this Lab, you will deploy a Marathon application using a Docker container. As the Lab progresses, you will use additional Docker containers to load balance, scale the application, and persist the application data in a database. You will use the DC/OS command-line interface (CLI) to accomplish these feats.
Lab Objectives
Upon completion of this Lab you will be able to:
- Write Marathon application definitions
- Deploy Marathon applications using Docker containers from the DC/OS CLI
- Scale and load balance Marathon applications using Docker containers
- Use volumes to persist data beyond the lifetime of a container
Lab Prerequisites
You should be familiar with:
- Basic DC/OS concepts including master nodes, agents, services, tasks, and Marathon
- Basic Docker concepts including images, tags, and networks
- Working at the command-line in Linux
- AWS services knowledge is useful in order to understand the architecture of the pre-created DC/OS cluster, but not required
Lab Environment
Before completing the Lab instructions, the environment will look as follows:
After completing the Lab instructions, the environment should look similar to:
Updates
August 1st, 2021 - Resolved an issue preventing the DC/OS cluster from provisioning
October 2nd, 2020 - Replaced CoreOS virtual machines (no longer available in AWS) with CentOS
January 10th, 2019 - Added a validation Lab Step to check the work you perform in the Lab