You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by ji...@apache.org on 2016/01/07 02:33:10 UTC

mesos git commit: Added user facing documentation for containerizers.

Repository: mesos
Updated Branches:
  refs/heads/master 58bde6268 -> c258d8af7


Added user facing documentation for containerizers.

This documentation is intended for users trying to get an overview of
containerizer technology. It also provides the criteria for selecting a
particular type of containerizer.

Review: https://reviews.apache.org/r/41657/


Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/c258d8af
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/c258d8af
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/c258d8af

Branch: refs/heads/master
Commit: c258d8af79e20053e99aaf85491412f8ad58ab2e
Parents: 58bde62
Author: Jojy Varghese <jo...@mesosphere.io>
Authored: Wed Jan 6 17:15:13 2016 -0800
Committer: Jie Yu <yu...@gmail.com>
Committed: Wed Jan 6 17:32:58 2016 -0800

----------------------------------------------------------------------
 docs/containerizer.md | 92 ++++++++++++++++++++++++++++++++++++++++++++++
 docs/home.md          |  1 +
 2 files changed, 93 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/c258d8af/docs/containerizer.md
----------------------------------------------------------------------
diff --git a/docs/containerizer.md b/docs/containerizer.md
new file mode 100644
index 0000000..bf0b927
--- /dev/null
+++ b/docs/containerizer.md
@@ -0,0 +1,92 @@
+---
+layout: documentation
+---
+
+# Containerizer
+
+## Motivation
+
+Containerizers are intended to run tasks in 'containers' which in turn are used
+to:
+
+* Isolate a task from other running tasks.
+* 'Contain' tasks to run in limited resource runtime environment.
+* Control task's individual resources (e.g, CPU, memory) programatically.
+* Run software in a pre-packaged file system image, allowing it to run in
+  different environments.
+
+
+## Types of containerizers
+
+Mesos plays well with existing container technologies (e.g., docker) and also
+provides its own container technology. It also supports composing different
+container technologies(e.g., docker and mesos).
+
+Mesos implements the following containerizers:
+
+* [Composing](#Composing)
+* [Docker](#Docker)
+* [Mesos (default)](#Mesos)
+* External (deprecated)
+
+User can specify the types of containerizers to use via the agent flag
+`--containerizers`.
+
+
+<a name="Composing"></a>
+### Composing containerizer
+
+This feature allows multiple container technologies to play together. It is
+enabled when you configure the `--containerizers` agent flag with multiple comma
+seperated containerizer names (e.g., `--containerizers=mesos,docker`). The order
+of the comma separated list is important as the first containerizer that
+supports the task's container configuration will be used to launch the task.
+
+Use cases:
+
+* For testing tasks with different types of resource isolations. Since 'mesos'
+  containerizers have more isolation abilities, a framework can use composing
+  containerizer to test a task using 'mesos' containerizer's controlled
+  environment and at the same time test it to work with 'docker' containers by
+  just changing the container parameters for the task.
+
+
+<a name="Docker"></a>
+### Docker containerizer
+
+Docker containerizer allows tasks to be run inside docker container. This
+containerizer is enabled when you configure the agent flag as
+`--containerizers=docker`.
+
+Use cases:
+
+* If task needs to be run with the tooling that comes with the docker package.
+* If Mesos agent is running inside a docker container.
+
+For more details, [see](/documentation/latest/docker-containerizer/)
+
+<a name="Mesos"></a>
+### Mesos containerizer
+
+This containerizer allows tasks to be run with an array of pluggable isolators
+provided by Mesos. This is the native Mesos containerizer solution and is
+enabled when you configure the agent flag as `--containerizers=mesos`.
+
+Use cases:
+
+* Allow Mesos to control the task's runtime environment without depending on
+  other container technologies (e.g., docker).
+* Want fine grained operating system controls (e.g., cgroups/namespaces provided
+  by linux).
+* Want Mesos's latest container technology features.
+* Need additional resource controls like disk usage limits, which
+  might not be provided by other container technologies.
+* Want to add custom isolation for tasks.
+
+For more details, [see](/documentation/latest/mesos-containerizer/)
+
+
+## References
+
+* [Containerizer Internals](/documentation/latest/containerizer-internals) for
+  implementation details of containerizers.

http://git-wip-us.apache.org/repos/asf/mesos/blob/c258d8af/docs/home.md
----------------------------------------------------------------------
diff --git a/docs/home.md b/docs/home.md
index ebe05fd..344c561 100644
--- a/docs/home.md
+++ b/docs/home.md
@@ -14,6 +14,7 @@ layout: documentation
 * [Getting Started](/documentation/latest/getting-started/) for basic instructions on compiling and installing Mesos.
 * [Upgrades](/documentation/latest/upgrades/) for upgrading a Mesos cluster.
 * [Configuration](/documentation/latest/configuration/) for command-line arguments.
+* [Containerizer](/documentation/latest/containerizer/) for containerizer overview and use cases.
 * [Containerizer Internals](/documentation/latest/containerizer-internals) for implementation details of containerizers.
 * [Mesos Containerizer](/documentation/latest/mesos-containerizer/) default containerizer, supports both Linux and POSIX systems.
 * [Docker Containerizer](/documentation/latest/docker-containerizer/) for launching a Docker image as a Task, or as an Executor.