hands-on lab

Using Marathon to Schedule Mesos Containers on DC/OS

Up to 1h 30m
This lab is currently under maintenance and unavailable. We are actively working to resolve this issue and we apologize for any inconvenience.

DC/OS was declared end of life October 31, 2021 and the content is no longer maintained

Get guided in a real environmentPractice with a step-by-step scenario in a real, provisioned environment.
Learn and validateUse validations to check your solutions every step of the way.
See resultsTrack your knowledge and monitor your progress.
Lab description

Lab Overview

DC/OS includes the powerful container orchestration tool called Marathon. Marathon supports multiple container types including Mesos and Docker. Marathon can schedule containers while satisfying a variety of constraints, load balance, perform health checks, and even comes with an intuitive graphical user interface (GUI).

In this Lab, you will deploy two Marathon applications using Mesos containers. You will also learn how to use Marathon to schedule Mesos containers on DC/OS from the DC/OS command-line interface (CLI) and the Marathon graphical user interface (GUI).

Lab Objectives

Upon completion of this Lab you will be able to:

  • Write Marathon application definitions
  • Deploy Marathon applications using Mesos containers using the DC/OS CLI
  • Manage and monitor Marathon using the Marathon GUI

Lab Prerequisites

You should be familiar with:

  • Basic DC/OS concepts including master nodes, agents, services, tasks, and Marathon
  • Working at the command-line in Linux
  • Basic Amazon S3 concepts
  • 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:



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

About the author
Logan Rakai, opens in a new tab
Lead Content Developer - Labs
Learning paths

Logan has been involved in software development and research since 2007 and has been in the cloud since 2012. He is an AWS Certified DevOps Engineer - Professional, AWS Certified Solutions Architect - Professional, Microsoft Certified Azure Solutions Architect Expert, MCSE: Cloud Platform and Infrastructure, Google Cloud Certified Associate Cloud Engineer, Certified Kubernetes Security Specialist (CKS), Certified Kubernetes Administrator (CKA), Certified Kubernetes Application Developer (CKAD), and Certified OpenStack Administrator (COA). He earned his Ph.D. studying design automation and enjoys all things tech.

LinkedIn, Twitter, GitHub

Covered topics
Lab steps
Logging In to the Amazon Web Services Console
Understanding the DC/OS Cluster Architecture
Connecting to the DC/OS Cluster NAT Instance using SSH
Running a Marathon Application From the CLI
Creating a Golang Web Application Binary
Deploying a Web Application Using Marathon
Validate AWS Lab