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.
DC/OS Services
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 Services
Installing and verifying a service using the CLI or the GUI…Read More
Marathon Configuration Reference
Understanding Marathon application definitions…Read More
Creating Services
Defining a DC/OS service using Marathon…Read More
Task Handling
Understanding Marathon task categories…Read More
Configuring Universe Services
Configuring services using the CLI and GUI…Read More
Fault Domain Awareness and Capacity Extension
ENTERPRISE
Understanding fault domains…Read More
Granting Access to Services and Groups
ENTERPRISE
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 Services
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
Service Endpoints
Using endpoints with containerized services…Read More
Service Ports
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
Deployments
Deploying multiple Marathon applications…Read More
Exposing a Service
Launching a service with a Marathon app definition…Read More
Uninstalling Services
Uninstalling DC/OS services from the CLI…Read More
Package Management API
ENTERPRISE
Installing DC/OS services using the Package Management API…Read More
Using Custom Marathon
ENTERPRISE
Deploying non-native instances of Marathon…Read More
Marathon API
ENTERPRISE
Using the Marathon API to manage long-running containerized services…Read More
Using Containerizers
Using containerizers with Docker Engine and Universal Container Runtime…Read More
Pods
Using pods to group resources…Read More
Multi-Tenancy Primitives
A primer to Multi-Tenancy in DC/OS…Read More
Using GPUs
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