Difficulty: beginner
Estimated Time: 10-15 minutes

In this scenario, you will learn how to start interacting with DC/OS and Marathon for deploying containers.

The scenario covers how to deploy a container-based http web server using the DC/OS CLI tool and via the Marathon UI. In the end, you will understand how to start deploying your applications onto a DC/OS cluster.

The environment has been configured with three machines. The Interactive Terminal client is connected to two other machines, one for the DC/OS Master and another of the Agent. Your client is configured with the DC/OS CLI and can interact with the master and agent.

We have now successfully deployed a web server via both the DC/OS CLI and the Marathon UI. In future scenarios, you will learn how to scale the HTTP server across multiple containers and agents.

To find out more about DC/OS, visit https://dcos.io/

Don’t stop now! The next scenario will only take about 10 minutes to complete.

DC/OS Playground

Useful Links

Your learning environment has access to two machines, one for running the DC/OS master and another for the agent.

The master is responsible for hosting the DC/OS dashboard, Mesos and Marathon. They manage scheduling tasks between the different agents and providing visibility into the cluster health. It is accessible via the DNS name master.

The agent runs tasks deployed via Mesos and Marathon. The agent is capable of running different types of tasks, the most common being Docker Containers. It is accessible via the DNS name agent01.

The interactive terminal is your client. It is configured with the DC/OS CLI and can communicate with both the master and agent.


To begin, ensure the DC/OS cluster is running by executing launch.sh. The script ensures that the DC/OS Master is running.

Install DC/OS CLI

Once the cluster has started, configure the CLI to talk to the newly started cluster.

dcos config set core.dcos_url https://[[HOST_SUBDOMAIN]]-80-[[KATACODA_HOST]].environments.katacoda.com

The CLI can be viewed to see the state, health and also deploy tasks. We will use this in the next step to inspect the cluster state.