DC/OS uses Marathon to manage your processes and services.
Marathon is the “init system” for DC/OS. Marathon starts and monitors your applications and services, automatically healing failures.
A native Marathon instance is installed as a part of DC/OS installation. After DC/OS has started, you can manage the native Marathon instance through the DC/OS CLI with the
dcos marathon command.
DC/OS services are Marathon applications that are deployed on DC/OS. DC/OS services are available from a package repository, such as the Mesosphere Universe, or you can create your own.
You can run DC/OS services you create or install a package from the Catalog. Both the services you create and those you install from Universe appear on the Services tab of the DC/OS web interface when they are running.
Services you create yourself are administered by Marathon and can be configured and run from the DC/OS CLI with
dcos marathon subcommands (e.g.
dcos marathon app add <myapp>.json) or via the DC/OS web interface.
Universe Package Repository
Packaged DC/OS services that have been created by Mesosphere or the community, like Spark or Kafka, appear on the Catalog tab of the DC/OS web interface, or you can search for a package from the DC/OS CLI. You can configure and run Universe services from the DC/OS web interface or via the DC/OS CLI with the
dcos package install <package-name> command.
Installing and verifying a service using the CLI or the GUI…Read More
Marathon Configuration Reference
Understanding Marathon application definitions…Read More
Defining a DC/OS service using Marathon…Read More
Understanding Marathon task categories…Read More
Configuring Universe Services
Configuring services using the CLI and GUI…Read More
Fault Domain Awareness and Capacity Extension
Understanding fault domains…Read More
Granting Access to Services and Groups
Implementing fine-grained user access to services using the web interface or the CLI…Read More
Marathon Placement Constraints
Understanding Marathon placement constraints…Read More
Monitoring deployed DC/OS services from the CLI and web interface…Read More
Scaling a Service
Scaling a service using the web interface and the CLI…Read More
Using endpoints with containerized services…Read More
Using Virtual IPs to manage service ports…Read More
Updating a User-Created Service
Updating the configuration of a deployed app…Read More
Using a Private Docker Registry
Creating an archive for a private Docker registry…Read More
Deploying multiple Marathon applications…Read More
Exposing a Service
Launching a service with a Marathon app definition…Read More
Uninstalling DC/OS services from the CLI…Read More
Package Management API
Installing DC/OS services using the Package Management API…Read More
Using Custom Marathon
Deploying non-native instances of Marathon…Read More
Using the Marathon API to manage long-running containerized services…Read More
Using containerizers with Docker Engine and Universal Container Runtime…Read More
Using pods to group resources…Read More
A primer to Multi-Tenancy in DC/OS…Read More
Adding Graphics Processing Units to your long-running DC/OS services…Read More
Frequently Asked Questions
Frequently asked questions about deploying Marathon services…Read More