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 Catalog, 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 Catalog 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.
Catalog Package Repository
Packaged DC/OS services 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 Catalog 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 UI…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
Using the DC/OS CLI to configure services…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 UI…Read More
Scaling a Service
Scaling a service using the UI 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
Providing access to 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 share 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