hands-on lab

Using Marathon to Schedule Docker Containers on DC/OS

Difficulty: Intermediate
Duration: Up to 1 hour and 30 minutes
Students: 63
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.

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

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 Using Docker Containers
Running a Docker Container Load Balancer with Marathon
Persisting Data to an External Database
Validate AWS Lab