Using Marathon to Schedule Docker Containers on DC/OS

Developed with

The hands-on lab is part of this learning path

Introduction to DC/OS
course-steps 2 lab-steps 10

Lab Steps

Logging in to the Amazon Web Services Console
Understanding the DC/OS Cluster Architecture
Connecting to the Virtual Machine using SSH
Running a Marathon Application Using Docker Containers
Running a Docker Container Load Balancer with Marathon
Persisting Data to an External Database

Ready for the real environment experience?

Duration1h 30m


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:

About the Author

Learning paths3

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.