You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by gi...@apache.org on 2017/09/18 19:24:23 UTC
[3/4] mesos-site git commit: Updated the website built from mesos
SHA: c7bd862.
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e73ac18b/content/documentation/latest/isolators/disk-du/index.html
----------------------------------------------------------------------
diff --git a/content/documentation/latest/isolators/disk-du/index.html b/content/documentation/latest/isolators/disk-du/index.html
new file mode 100644
index 0000000..1b4cc2d
--- /dev/null
+++ b/content/documentation/latest/isolators/disk-du/index.html
@@ -0,0 +1,178 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <title>Apache Mesos - Disk Isolator Based on 'du' in Mesos Containerizer</title>
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+ <meta property="og:locale" content="en_US"/>
+ <meta property="og:type" content="website"/>
+ <meta property="og:title" content="Apache Mesos"/>
+ <meta property="og:site_name" content="Apache Mesos"/>
+ <meta property="og:url" content="http://mesos.apache.org/"/>
+ <meta property="og:image" content="http://mesos.apache.org/assets/img/mesos_logo_fb_preview.png"/>
+ <meta property="og:description"
+ content="Apache Mesos abstracts resources away from machines,
+ enabling fault-tolerant and elastic distributed systems
+ to easily be built and run effectively."/>
+
+ <meta name="twitter:card" content="summary"/>
+ <meta name="twitter:site" content="@ApacheMesos"/>
+ <meta name="twitter:title" content="Apache Mesos"/>
+ <meta name="twitter:image" content="http://mesos.apache.org/assets/img/mesos_logo_fb_preview.png"/>
+ <meta name="twitter:description"
+ content="Apache Mesos abstracts resources away from machines,
+ enabling fault-tolerant and elastic distributed systems
+ to easily be built and run effectively."/>
+
+ <link href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet">
+ <link rel="alternate" type="application/atom+xml" title="Apache Mesos Blog" href="/blog/feed.xml">
+ <link href="../../../../assets/css/main.css" media="screen" rel="stylesheet" type="text/css" />
+
+
+
+ <!-- Google Analytics Magic -->
+ <script type="text/javascript">
+ var _gaq = _gaq || [];
+ _gaq.push(['_setAccount', 'UA-20226872-1']);
+ _gaq.push(['_setDomainName', 'apache.org']);
+ _gaq.push(['_trackPageview']);
+
+ (function() {
+ var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+ ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+ })();
+ </script>
+
+ </head>
+ <body>
+ <!-- magical breadcrumbs -->
+ <div class="topnav">
+ <div class="container">
+ <ul class="breadcrumb">
+ <li>
+ <div class="dropdown">
+ <a data-toggle="dropdown" href="#">Apache Software Foundation <span class="caret"></span></a>
+ <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
+ <li><a href="http://www.apache.org">Apache Homepage</a></li>
+ <li><a href="http://www.apache.org/licenses/">License</a></li>
+ <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+ <li><a href="http://www.apache.org/security/">Security</a></li>
+ </ul>
+ </div>
+ </li>
+
+ <li><a href="http://mesos.apache.org">Apache Mesos</a></li>
+
+
+ <li><a href="/documentation
+/">Documentation
+</a></li>
+
+
+ </ul><!-- /.breadcrumb -->
+ </div><!-- /.container -->
+ </div><!-- /.topnav -->
+
+ <!-- navbar excitement -->
+<div class="navbar navbar-default navbar-static-top" role="navigation">
+ <div class="container">
+ <div class="navbar-header">
+ <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#mesos-menu" aria-expanded="false">
+ <span class="sr-only">Toggle navigation</span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+ <a class="navbar-brand" href="/"><img src="/assets/img/mesos_logo.png" alt="Apache Mesos logo"/></a>
+ </div><!-- /.navbar-header -->
+
+ <div class="navbar-collapse collapse" id="mesos-menu">
+ <ul class="nav navbar-nav navbar-right">
+ <li><a href="/gettingstarted/">Getting Started</a></li>
+ <li><a href="/blog/">Blog</a></li>
+ <li><a href="/documentation/latest/">Documentation</a></li>
+ <li><a href="/downloads/">Downloads</a></li>
+ <li><a href="/community/">Community</a></li>
+ </ul>
+ </div><!-- /#mesos-menu -->
+ </div><!-- /.container -->
+</div><!-- /.navbar -->
+
+<div class="content">
+ <div class="container">
+ <div class="row-fluid">
+ <div class="col-md-4">
+ <h4>If you're new to Mesos</h4>
+ <p>See the <a href="/gettingstarted/">getting started</a> page for more
+ information about downloading, building, and deploying Mesos.</p>
+
+ <h4>If you'd like to get involved or you're looking for support</h4>
+ <p>See our <a href="/community/">community</a> page for more details.</p>
+ </div>
+ <div class="col-md-8">
+ <h1>Disk Isolator Based on ‘du’ in Mesos Containerizer</h1>
+
+<p>The <code>disk/du</code> (previously <code>posix/disk</code>) isolator provides basic disk
+isolation. It is able to report the disk usage for each sandbox and
+optionally enforce the disk quota. It can be used on both Linux and OS
+X.</p>
+
+<p>To enable the <code>disk/du</code> isolator, append <code>disk/du</code> to the
+<code>--isolation</code> flag when starting the agent.</p>
+
+<p>By default, the disk quota enforcement is disabled. To enable it,
+specify <code>--enforce_container_disk_quota</code> when starting the agent.</p>
+
+<p>The <code>disk/du</code> isolator reports disk usage for each sandbox by
+periodically running the <code>du</code> command. The disk usage can be retrieved
+from the resource statistics endpoint
+(<a href="/documentation/latest/isolators/../endpoints/slave/monitor/statistics/">/monitor/statistics</a>).</p>
+
+<p>The interval between two <code>du</code>s can be controlled by the agent flag
+<code>--container_disk_watch_interval</code>. For example,
+<code>--container_disk_watch_interval=1mins</code> sets the interval to be 1
+minute. The default interval is 15 seconds.</p>
+
+ </div>
+</div>
+
+ </div><!-- /.container -->
+</div><!-- /.content -->
+
+<hr>
+
+
+
+ <!-- footer -->
+ <div class="footer">
+ <div class="container">
+ <div class="col-md-4 social-blk">
+ <span class="social">
+ <a href="https://twitter.com/ApacheMesos"
+ class="twitter-follow-button"
+ data-show-count="false" data-size="large">Follow @ApacheMesos</a>
+ <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
+ <a href="https://twitter.com/intent/tweet?button_hashtag=mesos"
+ class="twitter-hashtag-button"
+ data-size="large"
+ data-related="ApacheMesos">Tweet #mesos</a>
+ <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
+ </span>
+ </div>
+
+ <div class="col-md-8 trademark">
+ <p>© 2012-2017 <a href="http://apache.org">The Apache Software Foundation</a>.
+ Apache Mesos, the Apache feather logo, and the Apache Mesos project logo are trademarks of The Apache Software Foundation.
+ <p>
+ </div>
+ </div><!-- /.container -->
+ </div><!-- /.footer -->
+
+ <!-- JS -->
+ <script src="//code.jquery.com/jquery-1.11.0.min.js" type="text/javascript"></script>
+ <script src="//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js" type="text/javascript"></script>
+ </body>
+</html>
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e73ac18b/content/documentation/latest/isolators/disk-xfs/index.html
----------------------------------------------------------------------
diff --git a/content/documentation/latest/isolators/disk-xfs/index.html b/content/documentation/latest/isolators/disk-xfs/index.html
new file mode 100644
index 0000000..7af24a4
--- /dev/null
+++ b/content/documentation/latest/isolators/disk-xfs/index.html
@@ -0,0 +1,196 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <title>Apache Mesos - XFS Disk Isolator in Mesos Containerizer</title>
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+ <meta property="og:locale" content="en_US"/>
+ <meta property="og:type" content="website"/>
+ <meta property="og:title" content="Apache Mesos"/>
+ <meta property="og:site_name" content="Apache Mesos"/>
+ <meta property="og:url" content="http://mesos.apache.org/"/>
+ <meta property="og:image" content="http://mesos.apache.org/assets/img/mesos_logo_fb_preview.png"/>
+ <meta property="og:description"
+ content="Apache Mesos abstracts resources away from machines,
+ enabling fault-tolerant and elastic distributed systems
+ to easily be built and run effectively."/>
+
+ <meta name="twitter:card" content="summary"/>
+ <meta name="twitter:site" content="@ApacheMesos"/>
+ <meta name="twitter:title" content="Apache Mesos"/>
+ <meta name="twitter:image" content="http://mesos.apache.org/assets/img/mesos_logo_fb_preview.png"/>
+ <meta name="twitter:description"
+ content="Apache Mesos abstracts resources away from machines,
+ enabling fault-tolerant and elastic distributed systems
+ to easily be built and run effectively."/>
+
+ <link href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet">
+ <link rel="alternate" type="application/atom+xml" title="Apache Mesos Blog" href="/blog/feed.xml">
+ <link href="../../../../assets/css/main.css" media="screen" rel="stylesheet" type="text/css" />
+
+
+
+ <!-- Google Analytics Magic -->
+ <script type="text/javascript">
+ var _gaq = _gaq || [];
+ _gaq.push(['_setAccount', 'UA-20226872-1']);
+ _gaq.push(['_setDomainName', 'apache.org']);
+ _gaq.push(['_trackPageview']);
+
+ (function() {
+ var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+ ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+ })();
+ </script>
+
+ </head>
+ <body>
+ <!-- magical breadcrumbs -->
+ <div class="topnav">
+ <div class="container">
+ <ul class="breadcrumb">
+ <li>
+ <div class="dropdown">
+ <a data-toggle="dropdown" href="#">Apache Software Foundation <span class="caret"></span></a>
+ <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
+ <li><a href="http://www.apache.org">Apache Homepage</a></li>
+ <li><a href="http://www.apache.org/licenses/">License</a></li>
+ <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+ <li><a href="http://www.apache.org/security/">Security</a></li>
+ </ul>
+ </div>
+ </li>
+
+ <li><a href="http://mesos.apache.org">Apache Mesos</a></li>
+
+
+ <li><a href="/documentation
+/">Documentation
+</a></li>
+
+
+ </ul><!-- /.breadcrumb -->
+ </div><!-- /.container -->
+ </div><!-- /.topnav -->
+
+ <!-- navbar excitement -->
+<div class="navbar navbar-default navbar-static-top" role="navigation">
+ <div class="container">
+ <div class="navbar-header">
+ <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#mesos-menu" aria-expanded="false">
+ <span class="sr-only">Toggle navigation</span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+ <a class="navbar-brand" href="/"><img src="/assets/img/mesos_logo.png" alt="Apache Mesos logo"/></a>
+ </div><!-- /.navbar-header -->
+
+ <div class="navbar-collapse collapse" id="mesos-menu">
+ <ul class="nav navbar-nav navbar-right">
+ <li><a href="/gettingstarted/">Getting Started</a></li>
+ <li><a href="/blog/">Blog</a></li>
+ <li><a href="/documentation/latest/">Documentation</a></li>
+ <li><a href="/downloads/">Downloads</a></li>
+ <li><a href="/community/">Community</a></li>
+ </ul>
+ </div><!-- /#mesos-menu -->
+ </div><!-- /.container -->
+</div><!-- /.navbar -->
+
+<div class="content">
+ <div class="container">
+ <div class="row-fluid">
+ <div class="col-md-4">
+ <h4>If you're new to Mesos</h4>
+ <p>See the <a href="/gettingstarted/">getting started</a> page for more
+ information about downloading, building, and deploying Mesos.</p>
+
+ <h4>If you'd like to get involved or you're looking for support</h4>
+ <p>See our <a href="/community/">community</a> page for more details.</p>
+ </div>
+ <div class="col-md-8">
+ <h1>XFS Disk Isolator in Mesos Containerizer</h1>
+
+<p>The <code>disk/xfs</code> isolator uses XFS project quotas to track the disk space
+used by each container sandbox and to enforce the corresponding disk
+space allocation. When quota enforcement is enabled, write operations
+performed by tasks exceeding their disk allocation will fail with an
+<code>EDQUOT</code> error. The task will not be terminated by the containerizer.</p>
+
+<p>To enable the XFS Disk isolator, append <code>disk/xfs</code> to the <code>--isolation</code>
+flag when starting the agent.</p>
+
+<p>The XFS Disk isolator supports the <code>--enforce_container_disk_quota</code> flag.
+If enforcement is enabled, the isolator will set both the hard and soft
+quota limit. Otherwise, no limits will be set, Disk usage accounting
+will be performed but the task will be allowed to exceed its allocation.</p>
+
+<p>The XFS Disk isolator requires the sandbox directory to be located
+on an XFS filesystem that is mounted with the <code>pquota</code> option. There
+is no need to configure
+<a href="http://man7.org/linux/man-pages/man5/projects.5.html">projects</a>
+or <a href="http://man7.org/linux/man-pages/man5/projid.5.html">projid</a>
+files. The range of project IDs given to the <code>--xfs_project_range</code>
+must not overlap any project IDs allocated for other uses.</p>
+
+<p>The <a href="http://man7.org/linux/man-pages/man8/xfs_quota.8.html">xfs_quota</a>
+command can be used to show the current allocation of project IDs
+and quota. For example:</p>
+
+<pre><code>$ xfs_quota -x -c "report -a -n -L 5000 -U 10000"
+</code></pre>
+
+<p>To show which project a file belongs to, use the
+<a href="http://man7.org/linux/man-pages/man8/xfs_io.8.html">xfs_io</a> command
+to display the <code>fsxattr.projid</code> field. For example:</p>
+
+<pre><code>$ xfs_io -r -c stat /mnt/mesos/
+</code></pre>
+
+<p>Note that the Posix Disk isolator <code>--container_disk_watch_interval</code>
+does not apply to the XFS Disk isolator.</p>
+
+ </div>
+</div>
+
+ </div><!-- /.container -->
+</div><!-- /.content -->
+
+<hr>
+
+
+
+ <!-- footer -->
+ <div class="footer">
+ <div class="container">
+ <div class="col-md-4 social-blk">
+ <span class="social">
+ <a href="https://twitter.com/ApacheMesos"
+ class="twitter-follow-button"
+ data-show-count="false" data-size="large">Follow @ApacheMesos</a>
+ <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
+ <a href="https://twitter.com/intent/tweet?button_hashtag=mesos"
+ class="twitter-hashtag-button"
+ data-size="large"
+ data-related="ApacheMesos">Tweet #mesos</a>
+ <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
+ </span>
+ </div>
+
+ <div class="col-md-8 trademark">
+ <p>© 2012-2017 <a href="http://apache.org">The Apache Software Foundation</a>.
+ Apache Mesos, the Apache feather logo, and the Apache Mesos project logo are trademarks of The Apache Software Foundation.
+ <p>
+ </div>
+ </div><!-- /.container -->
+ </div><!-- /.footer -->
+
+ <!-- JS -->
+ <script src="//code.jquery.com/jquery-1.11.0.min.js" type="text/javascript"></script>
+ <script src="//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js" type="text/javascript"></script>
+ </body>
+</html>
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e73ac18b/content/documentation/latest/isolators/docker-runtime/index.html
----------------------------------------------------------------------
diff --git a/content/documentation/latest/isolators/docker-runtime/index.html b/content/documentation/latest/isolators/docker-runtime/index.html
new file mode 100644
index 0000000..c56b8f2
--- /dev/null
+++ b/content/documentation/latest/isolators/docker-runtime/index.html
@@ -0,0 +1,257 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <title>Apache Mesos - Docker Runtime Isolator in Mesos Containerizer</title>
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+ <meta property="og:locale" content="en_US"/>
+ <meta property="og:type" content="website"/>
+ <meta property="og:title" content="Apache Mesos"/>
+ <meta property="og:site_name" content="Apache Mesos"/>
+ <meta property="og:url" content="http://mesos.apache.org/"/>
+ <meta property="og:image" content="http://mesos.apache.org/assets/img/mesos_logo_fb_preview.png"/>
+ <meta property="og:description"
+ content="Apache Mesos abstracts resources away from machines,
+ enabling fault-tolerant and elastic distributed systems
+ to easily be built and run effectively."/>
+
+ <meta name="twitter:card" content="summary"/>
+ <meta name="twitter:site" content="@ApacheMesos"/>
+ <meta name="twitter:title" content="Apache Mesos"/>
+ <meta name="twitter:image" content="http://mesos.apache.org/assets/img/mesos_logo_fb_preview.png"/>
+ <meta name="twitter:description"
+ content="Apache Mesos abstracts resources away from machines,
+ enabling fault-tolerant and elastic distributed systems
+ to easily be built and run effectively."/>
+
+ <link href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet">
+ <link rel="alternate" type="application/atom+xml" title="Apache Mesos Blog" href="/blog/feed.xml">
+ <link href="../../../../assets/css/main.css" media="screen" rel="stylesheet" type="text/css" />
+
+
+
+ <!-- Google Analytics Magic -->
+ <script type="text/javascript">
+ var _gaq = _gaq || [];
+ _gaq.push(['_setAccount', 'UA-20226872-1']);
+ _gaq.push(['_setDomainName', 'apache.org']);
+ _gaq.push(['_trackPageview']);
+
+ (function() {
+ var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+ ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+ })();
+ </script>
+
+ </head>
+ <body>
+ <!-- magical breadcrumbs -->
+ <div class="topnav">
+ <div class="container">
+ <ul class="breadcrumb">
+ <li>
+ <div class="dropdown">
+ <a data-toggle="dropdown" href="#">Apache Software Foundation <span class="caret"></span></a>
+ <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
+ <li><a href="http://www.apache.org">Apache Homepage</a></li>
+ <li><a href="http://www.apache.org/licenses/">License</a></li>
+ <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+ <li><a href="http://www.apache.org/security/">Security</a></li>
+ </ul>
+ </div>
+ </li>
+
+ <li><a href="http://mesos.apache.org">Apache Mesos</a></li>
+
+
+ <li><a href="/documentation
+/">Documentation
+</a></li>
+
+
+ </ul><!-- /.breadcrumb -->
+ </div><!-- /.container -->
+ </div><!-- /.topnav -->
+
+ <!-- navbar excitement -->
+<div class="navbar navbar-default navbar-static-top" role="navigation">
+ <div class="container">
+ <div class="navbar-header">
+ <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#mesos-menu" aria-expanded="false">
+ <span class="sr-only">Toggle navigation</span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+ <a class="navbar-brand" href="/"><img src="/assets/img/mesos_logo.png" alt="Apache Mesos logo"/></a>
+ </div><!-- /.navbar-header -->
+
+ <div class="navbar-collapse collapse" id="mesos-menu">
+ <ul class="nav navbar-nav navbar-right">
+ <li><a href="/gettingstarted/">Getting Started</a></li>
+ <li><a href="/blog/">Blog</a></li>
+ <li><a href="/documentation/latest/">Documentation</a></li>
+ <li><a href="/downloads/">Downloads</a></li>
+ <li><a href="/community/">Community</a></li>
+ </ul>
+ </div><!-- /#mesos-menu -->
+ </div><!-- /.container -->
+</div><!-- /.navbar -->
+
+<div class="content">
+ <div class="container">
+ <div class="row-fluid">
+ <div class="col-md-4">
+ <h4>If you're new to Mesos</h4>
+ <p>See the <a href="/gettingstarted/">getting started</a> page for more
+ information about downloading, building, and deploying Mesos.</p>
+
+ <h4>If you'd like to get involved or you're looking for support</h4>
+ <p>See our <a href="/community/">community</a> page for more details.</p>
+ </div>
+ <div class="col-md-8">
+ <h1>Docker Runtime Isolator in Mesos Containerizer</h1>
+
+<p>The Docker Runtime isolator is used for supporting runtime
+configurations from the docker image (e.g., Entrypoint/Cmd, Env,
+etc.). This isolator is tied with <code>--image_providers=docker</code>. If
+<code>--image_providers</code> contains <code>docker</code>, this isolator must be used.
+Otherwise, the agent will refuse to start.</p>
+
+<p>To enable the Docker Runtime isolator, append <code>docker/runtime</code> to the
+<code>--isolation</code> flag when starting the agent.</p>
+
+<p>Currently, docker image default <code>Entrypoint</code>, <code>Cmd</code>, <code>Env</code>, and
+<code>WorkingDir</code> are supported with docker runtime isolator. Users can
+specify <code>CommandInfo</code> to override the default <code>Entrypoint</code> and <code>Cmd</code>
+in the image (see below for details). The <code>CommandInfo</code> should be
+inside of either <code>TaskInfo</code> or <code>ExecutorInfo</code> (depending on whether
+the task is a command task or uses a custom executor, respectively).</p>
+
+<h2>Determine the Launch Command</h2>
+
+<p>If the user specifies a command in <code>CommandInfo</code>, that will override
+the default Entrypoint/Cmd in the docker image. Otherwise, we will use
+the default Entrypoint/Cmd and append arguments specified in
+<code>CommandInfo</code> accordingly. The details are explained in the following
+table.</p>
+
+<p>Users can specify <code>CommandInfo</code> including <code>shell</code>, <code>value</code> and
+<code>arguments</code>, which are represented in the first column of the table
+below. <code>0</code> represents <code>not specified</code>, while <code>1</code> represents
+<code>specified</code>. The first row is how <code>Entrypoint</code> and <code>Cmd</code> defined in
+the docker image. All cells in the table, except the first column and
+row, as well as cells labeled as <code>Error</code>, have the first element
+(i.e., <code>/Entrypt[0]</code>) as executable, and the rest as appending
+arguments.</p>
+
+<table class="table table-striped">
+ <tr>
+ <th></th>
+ <th>Entrypoint=0<br>Cmd=0</th>
+ <th>Entrypoint=0<br>Cmd=1</th>
+ <th>Entrypoint=1<br>Cmd=0</th>
+ <th>Entrypoint=1<br>Cmd=1</th>
+ </tr>
+ <tr>
+ <td>sh=0<br>value=0<br>argv=0</td>
+ <td>Error</td>
+ <td>/Cmd[0]<br>Cmd[1]..</td>
+ <td>/Entrypt[0]<br>Entrypt[1]..</td>
+ <td>/Entrypt[0]<br>Entrypt[1]..<br>Cmd..</td>
+ </tr>
+ <tr>
+ <td>sh=0<br>value=0<br>argv=1</td>
+ <td>Error</td>
+ <td>/Cmd[0]<br>argv</td>
+ <td>/Entrypt[0]<br>Entrypt[1]..<br>argv</td>
+ <td>/Entrypt[0]<br>Entrypt[1]..<br>argv</td>
+ </tr>
+ <tr>
+ <td>sh=0<br>value=1<br>argv=0</td>
+ <td>/value</td>
+ <td>/value</td>
+ <td>/value</td>
+ <td>/value</td>
+ </tr>
+ <tr>
+ <td>sh=0<br>value=1<br>argv=1</td>
+ <td>/value<br>argv</td>
+ <td>/value<br>argv</td>
+ <td>/value<br>argv</td>
+ <td>/value<br>argv</td>
+ </tr>
+ <tr>
+ <td>sh=1<br>value=0<br>argv=0</td>
+ <td>Error</td>
+ <td>Error</td>
+ <td>Error</td>
+ <td>Error</td>
+ </tr>
+ <tr>
+ <td>sh=1<br>value=0<br>argv=1</td>
+ <td>Error</td>
+ <td>Error</td>
+ <td>Error</td>
+ <td>Error</td>
+ </tr>
+ <tr>
+ <td>sh=1<br>value=1<br>argv=0</td>
+ <td>/bin/sh -c<br>value</td>
+ <td>/bin/sh -c<br>value</td>
+ <td>/bin/sh -c<br>value</td>
+ <td>/bin/sh -c<br>value</td>
+ </tr>
+ <tr>
+ <td>sh=1<br>value=1<br>argv=1</td>
+ <td>/bin/sh -c<br>value</td>
+ <td>/bin/sh -c<br>value</td>
+ <td>/bin/sh -c<br>value</td>
+ <td>/bin/sh -c<br>value</td>
+ </tr>
+</table>
+
+
+ </div>
+</div>
+
+ </div><!-- /.container -->
+</div><!-- /.content -->
+
+<hr>
+
+
+
+ <!-- footer -->
+ <div class="footer">
+ <div class="container">
+ <div class="col-md-4 social-blk">
+ <span class="social">
+ <a href="https://twitter.com/ApacheMesos"
+ class="twitter-follow-button"
+ data-show-count="false" data-size="large">Follow @ApacheMesos</a>
+ <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
+ <a href="https://twitter.com/intent/tweet?button_hashtag=mesos"
+ class="twitter-hashtag-button"
+ data-size="large"
+ data-related="ApacheMesos">Tweet #mesos</a>
+ <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
+ </span>
+ </div>
+
+ <div class="col-md-8 trademark">
+ <p>© 2012-2017 <a href="http://apache.org">The Apache Software Foundation</a>.
+ Apache Mesos, the Apache feather logo, and the Apache Mesos project logo are trademarks of The Apache Software Foundation.
+ <p>
+ </div>
+ </div><!-- /.container -->
+ </div><!-- /.footer -->
+
+ <!-- JS -->
+ <script src="//code.jquery.com/jquery-1.11.0.min.js" type="text/javascript"></script>
+ <script src="//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js" type="text/javascript"></script>
+ </body>
+</html>
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e73ac18b/content/documentation/latest/isolators/docker-volume/index.html
----------------------------------------------------------------------
diff --git a/content/documentation/latest/isolators/docker-volume/index.html b/content/documentation/latest/isolators/docker-volume/index.html
new file mode 100644
index 0000000..f05d11c
--- /dev/null
+++ b/content/documentation/latest/isolators/docker-volume/index.html
@@ -0,0 +1,537 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <title>Apache Mesos - Docker Volume Support in Mesos Containerizer</title>
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+ <meta property="og:locale" content="en_US"/>
+ <meta property="og:type" content="website"/>
+ <meta property="og:title" content="Apache Mesos"/>
+ <meta property="og:site_name" content="Apache Mesos"/>
+ <meta property="og:url" content="http://mesos.apache.org/"/>
+ <meta property="og:image" content="http://mesos.apache.org/assets/img/mesos_logo_fb_preview.png"/>
+ <meta property="og:description"
+ content="Apache Mesos abstracts resources away from machines,
+ enabling fault-tolerant and elastic distributed systems
+ to easily be built and run effectively."/>
+
+ <meta name="twitter:card" content="summary"/>
+ <meta name="twitter:site" content="@ApacheMesos"/>
+ <meta name="twitter:title" content="Apache Mesos"/>
+ <meta name="twitter:image" content="http://mesos.apache.org/assets/img/mesos_logo_fb_preview.png"/>
+ <meta name="twitter:description"
+ content="Apache Mesos abstracts resources away from machines,
+ enabling fault-tolerant and elastic distributed systems
+ to easily be built and run effectively."/>
+
+ <link href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet">
+ <link rel="alternate" type="application/atom+xml" title="Apache Mesos Blog" href="/blog/feed.xml">
+ <link href="../../../../assets/css/main.css" media="screen" rel="stylesheet" type="text/css" />
+
+
+
+ <!-- Google Analytics Magic -->
+ <script type="text/javascript">
+ var _gaq = _gaq || [];
+ _gaq.push(['_setAccount', 'UA-20226872-1']);
+ _gaq.push(['_setDomainName', 'apache.org']);
+ _gaq.push(['_trackPageview']);
+
+ (function() {
+ var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+ ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+ })();
+ </script>
+
+ </head>
+ <body>
+ <!-- magical breadcrumbs -->
+ <div class="topnav">
+ <div class="container">
+ <ul class="breadcrumb">
+ <li>
+ <div class="dropdown">
+ <a data-toggle="dropdown" href="#">Apache Software Foundation <span class="caret"></span></a>
+ <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
+ <li><a href="http://www.apache.org">Apache Homepage</a></li>
+ <li><a href="http://www.apache.org/licenses/">License</a></li>
+ <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+ <li><a href="http://www.apache.org/security/">Security</a></li>
+ </ul>
+ </div>
+ </li>
+
+ <li><a href="http://mesos.apache.org">Apache Mesos</a></li>
+
+
+ <li><a href="/documentation
+/">Documentation
+</a></li>
+
+
+ </ul><!-- /.breadcrumb -->
+ </div><!-- /.container -->
+ </div><!-- /.topnav -->
+
+ <!-- navbar excitement -->
+<div class="navbar navbar-default navbar-static-top" role="navigation">
+ <div class="container">
+ <div class="navbar-header">
+ <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#mesos-menu" aria-expanded="false">
+ <span class="sr-only">Toggle navigation</span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+ <a class="navbar-brand" href="/"><img src="/assets/img/mesos_logo.png" alt="Apache Mesos logo"/></a>
+ </div><!-- /.navbar-header -->
+
+ <div class="navbar-collapse collapse" id="mesos-menu">
+ <ul class="nav navbar-nav navbar-right">
+ <li><a href="/gettingstarted/">Getting Started</a></li>
+ <li><a href="/blog/">Blog</a></li>
+ <li><a href="/documentation/latest/">Documentation</a></li>
+ <li><a href="/downloads/">Downloads</a></li>
+ <li><a href="/community/">Community</a></li>
+ </ul>
+ </div><!-- /#mesos-menu -->
+ </div><!-- /.container -->
+</div><!-- /.navbar -->
+
+<div class="content">
+ <div class="container">
+ <div class="row-fluid">
+ <div class="col-md-4">
+ <h4>If you're new to Mesos</h4>
+ <p>See the <a href="/gettingstarted/">getting started</a> page for more
+ information about downloading, building, and deploying Mesos.</p>
+
+ <h4>If you'd like to get involved or you're looking for support</h4>
+ <p>See our <a href="/community/">community</a> page for more details.</p>
+ </div>
+ <div class="col-md-8">
+ <h1>Docker Volume Support in Mesos Containerizer</h1>
+
+<p>Mesos 1.0 adds Docker volume support to the
+<a href="/documentation/latest/isolators/../mesos-containerizer/">MesosContainerizer</a> (a.k.a., the universal
+containerizer) by introducing the new <code>docker/volume</code> isolator.</p>
+
+<p>This document describes the motivation, overall architecture, configuration
+steps for enabling Docker volume isolator, and required framework changes.</p>
+
+<h2>Table of Contents</h2>
+
+<ul>
+<li><a href="#motivation">Motivation</a></li>
+<li><a href="#how-does-it-work">How does it work?</a></li>
+<li><a href="#configuration">Configuration</a>
+
+<ul>
+<li><a href="#pre-conditions">Pre-conditions</a></li>
+<li><a href="#configure-Docker-volume-isolator">Configuring Docker Volume Isolator</a></li>
+<li><a href="#enable-frameworks">Enabling frameworks to use Docker volumes</a>
+
+<ul>
+<li><a href="#volume-protobuf">Volume Protobuf</a></li>
+<li><a href="#examples">Examples</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li><a href="#limitations">Limitations</a></li>
+<li><a href="#test-it-out">Test it out!</a></li>
+</ul>
+
+
+<h2><a name="motivation"></a>Motivation</h2>
+
+<p>The integration of external storage in Mesos is an attractive feature. The
+Mesos <a href="/documentation/latest/isolators/../persistent-volume/">persistent volume</a> primitives allow stateful
+services to persist data on an agent’s local storage. However, the amount of
+storage capacity that can be directly attached to a single agent is
+limited—certain applications (e.g., databases) would like to access more data
+than can easily be attached to a single node. Using external storage can
+also simplify data migration between agents/containers, and can make backups and
+disaster recovery easier.</p>
+
+<p>The <a href="https://github.com/Docker/Docker/blob/master/docs/extend/plugins_volume.md">Docker Volume Driver
+API</a>
+defines an interface between the container runtime and external storage systems.
+It has been widely adopted. There are Docker volume plugins for a variety of
+storage drivers, such as <a href="https://github.com/rancher/convoy">Convoy</a>,
+<a href="https://docs.clusterhq.com/en/latest/Docker-integration/">Flocker</a>,
+<a href="https://github.com/calavera/Docker-volume-glusterfs">GlusterFS</a>, and
+<a href="https://github.com/emccode/rexray">REX-Ray</a>. Each plugin typically supports a
+variety of external storage systems, such as Amazon EBS, OpenStack Cinder, etc.</p>
+
+<p>Therefore, introducing support for external storage in Mesos through the
+<code>docker/volume</code> isolator provides Mesos with tremendous flexibility to
+orchestrate containers on a wide variety of external storage technologies.</p>
+
+<h2><a name="how-does-it-work"></a>How does it work?</h2>
+
+<p><img src="../images/docker-volume-isolator.png" alt="Docker Volume Isolator Architecture" /></p>
+
+<p>The <code>docker/volume</code> isolator interacts with Docker volume plugins using
+<a href="https://github.com/emccode/dvdcli">dvdcli</a>, an open-source command line tool
+from EMC.</p>
+
+<p>When a new task with Docker volumes is launched, the <code>docker/volume</code> isolator
+will invoke <a href="https://github.com/emccode/dvdcli">dvdcli</a> to mount the
+corresponding Docker volume onto the host and then onto the container.</p>
+
+<p>When the task finishes or is killed, the <code>docker/volume</code> isolator will invoke
+<a href="https://github.com/emccode/dvdcli">dvdcli</a> to unmount the corresponding Docker
+volume.</p>
+
+<p>The detailed workflow for the <code>docker/volume</code> isolator is as follows:</p>
+
+<ol>
+<li><p>A framework specifies external volumes in <code>ContainerInfo</code> when launching a
+task.</p></li>
+<li><p>The master sends the launch task message to the agent.</p></li>
+<li><p>The agent receives the message and asks all isolators (including the
+<code>docker/volume</code> isolator) to prepare for the container with the
+<code>ContainerInfo</code>.</p></li>
+<li><p>The isolator invokes <a href="https://github.com/emccode/dvdcli">dvdcli</a> to mount the
+corresponding external volume to a mount point on the host.</p></li>
+<li><p>The agent launches the container and bind-mounts the volume into the
+container.</p></li>
+<li><p>The bind-mounted volume inside the container will be unmounted from the
+container automatically when the container finishes, as the container is in
+its own mount namespace.</p></li>
+<li><p>The agent invokes isolator cleanup which invokes
+<a href="https://github.com/emccode/dvdcli">dvdcli</a> to unmount all mount points for
+the container.</p></li>
+</ol>
+
+
+<h2><a name="configuration"></a>Configuration</h2>
+
+<p>To use the <code>docker/volume</code> isolator, there are certain actions required by
+operators and framework developers. In this section we list the steps required
+by the operator to configure <code>docker/volume</code> isolator and the steps required by
+framework developers to specify the Docker volumes.</p>
+
+<h3><a name="pre-conditions"></a>Pre-conditions</h3>
+
+<ul>
+<li><p>Install <code>dvdcli</code> version
+<a href="https://github.com/emccode/dvdcli/releases/tag/v0.1.0">0.1.0</a> on each agent.</p></li>
+<li><p>Install the <a href="https://github.com/Docker/Docker/blob/master/docs/extend/plugins.md#volume-plugins">Docker volume
+plugin</a>
+on each agent.</p></li>
+<li><p>Explicitly create the Docker volumes that are going to be accessed by Mesos
+tasks. If this is not done, volumes will be implicitly created by
+<a href="https://github.com/emccode/dvdcli">dvdcli</a> but the volumes may not fit into
+framework resource requirement well.</p></li>
+</ul>
+
+
+<h3><a name="configure-Docker-volume-isolator"></a>Configuring Docker Volume Isolator</h3>
+
+<p>In order to configure the <code>docker/volume</code> isolator, the operator needs to
+configure two flags at agent startup as follows:</p>
+
+<pre><code class="{.console}"> sudo mesos-agent \
+ --master=<master IP> \
+ --ip=<agent IP> \
+ --work_dir=/var/lib/mesos \
+ --isolation=filesystem/linux,docker/volume \
+ --docker_volume_checkpoint_dir=<mount info checkpoint path>
+</code></pre>
+
+<p>The <code>docker/volume</code> isolator must be specified in the <code>--isolation</code> flag at
+agent startup; the <code>docker/volume</code> isolator has a dependency on the
+<code>filesystem/linux</code> isolator.</p>
+
+<p>The <code>--docker_volume_checkpoint_dir</code> is an optional flag with a default value of
+<code>/var/run/mesos/isolators/docker/volume</code>. The <code>docker/volume</code> isolator will
+checkpoint all Docker volume mount point information under
+<code>--docker_volume_checkpoint_dir</code> for recovery. The checkpoint information under
+the default <code>--docker_volume_checkpoint_dir</code> will be cleaned up after agent
+restart. Therefore, it is recommended to set <code>--docker_volume_checkpoint_dir</code> to
+a directory which will survive agent restart.</p>
+
+<h3><a name="enable-frameworks"></a>Enabling frameworks to use Docker volumes</h3>
+
+<h4><a name="volume-protobuf"></a>Volume Protobuf</h4>
+
+<p>The <code>Volume</code> protobuf message has been updated to support Docker volumes.</p>
+
+<pre><code class="{.proto}">message Volume {
+ ...
+
+ required string container_path = 1;
+
+ message Source {
+ enum Type {
+ UNKNOWN = 0;
+ DOCKER_VOLUME = 1;
+ }
+
+ message DockerVolume {
+ optional string driver = 1;
+ required string name = 2;
+ optional Parameters driver_options = 3;
+ }
+
+ optional Type type = 1;
+ optional DockerVolume docker_volume = 2;
+ }
+
+ optional Source source = 5;
+}
+</code></pre>
+
+<p>When requesting a Docker volume for a container, the framework developer needs to
+set <code>Volume</code> for the container, which includes <code>mode</code>, <code>container_path</code> and
+<code>source</code>.</p>
+
+<p>The <code>source</code> field specifies where the volume comes from. Framework developers need to
+specify the <code>type</code>, Docker volume <code>driver</code>, <code>name</code> and <code>options</code>. At present,
+only the <code>DOCKER_VOLUME</code> type is supported; we plan to add support for more
+types of volumes in the future.</p>
+
+<p>How to specify <code>container_path</code>:</p>
+
+<ol>
+<li><p>If you are launching a Mesos container <code>without rootfs</code>. If <code>container_path</code>
+is an absolute path, you need to make sure the absolute path exists on your
+host root file system as the container shares the host root file system;
+otherwise, the task will fail.</p></li>
+<li><p>For other cases like launching a Mesos container <code>without rootfs</code> and
+<code>container_path</code> is a relative path, or launching a task <code>with rootfs</code> and
+<code>container_path</code> is an absolute path, or launching a task <code>with rootfs</code> and
+<code>container_path</code> as a relative path, the isolator will help create the
+<code>container_path</code> as the mount point.</p></li>
+</ol>
+
+
+<p>The following table summarizes the above rules for <code>container_path</code>:</p>
+
+<table class="table table-striped">
+ <tr>
+ <th></th>
+ <th>Container with rootfs</th>
+ <th>Container without rootfs</th>
+ </tr>
+ <tr>
+ <td>Absolute container_path</td>
+ <td>No need to exist</td>
+ <td>Must exist</td>
+ </tr>
+ <tr>
+ <td>Relative container_path</td>
+ <td>No need to exist</td>
+ <td>No need to exist</td>
+ </tr>
+</table>
+
+
+<h4><a name="examples"></a>Examples</h4>
+
+<ol>
+<li><p>Launch a task with one Docker volume using the default command executor.</p>
+
+<pre><code class="{.json}">TaskInfo {
+ ...
+ "command" : ...,
+ "container" : {
+ "volumes" : [
+ {
+ "container_path" : "/mnt/volume",
+ "mode" : "RW",
+ "source" : {
+ "type" : "DOCKER_VOLUME",
+ "docker_volume" : {
+ "driver" : "rexray",
+ "name" : "myvolume"
+ }
+ }
+ }
+ ]
+ }
+}
+</code></pre></li>
+<li><p>Launch a task with two Docker volumes using the default command executor.</p>
+
+<pre><code class="{.json}">TaskInfo {
+ ...
+ "command" : ...,
+ "container" : {
+ "volumes" : [
+ {
+ "container_path" : "volume1",
+ "mode" : "RW",
+ "source" : {
+ "type" : "DOCKER_VOLUME",
+ "docker_volume" : {
+ "driver" : "rexray",
+ "name" : "volume1"
+ }
+ }
+ },
+ {
+ "container_path" : "volume2",
+ "mode" : "RW",
+ "source" : {
+ "type" : "DOCKER_VOLUME",
+ "docker_volume" : {
+ "driver" : "rexray",
+ "name" : "volume2",
+ "driver_options" : {
+ "parameter" : [{
+ "key" : <key>,
+ "value" : <value>
+ }, {
+ "key" : <key>,
+ "value" : <value>
+ }]
+ }
+ }
+ }
+ }
+ ]
+ }
+}
+</code></pre></li>
+</ol>
+
+
+<p><strong>NOTE</strong>: The task launch will be failed if one container uses multiple Docker
+volumes with the same <code>driver</code> and <code>name</code>.</p>
+
+<h2><a name="limitations"></a>Limitations</h2>
+
+<p>Using the same Docker volume in both the <a href="/documentation/latest/isolators/../docker-containerizer/">Docker
+Containerizer</a> and the <a href="/documentation/latest/isolators/../mesos-containerizer/">Mesos
+Containerizer</a> simultaneously is <strong>strongly
+discouraged</strong>, because the MesosContainerizer has its own reference
+counting to decide when to unmount a Docker volume. Otherwise, it
+would be problematic if a Docker volume is unmounted by
+MesosContainerizer but the DockerContainerizer is still using it.</p>
+
+<h2><a name="test-it-out"></a>Test it out!</h2>
+
+<p>This section presents examples for launching containers with Docker volumes.
+The following example is using <a href="https://github.com/rancher/convoy/">convoy</a>
+as the Docker volume driver.</p>
+
+<p>Start the Mesos master.</p>
+
+<pre><code class="{.console}"> $ sudo mesos-master --work_dir=/tmp/mesos/master
+</code></pre>
+
+<p>Start the Mesos agent.</p>
+
+<pre><code class="{.console}"> $ sudo mesos-agent \
+ --master=<MASTER_IP>:5050 \
+ --isolation=docker/volume,docker/runtime,filesystem/linux \
+ --work_dir=/tmp/mesos/agent \
+ --image_providers=docker \
+ --executor_environment_variables="{}"
+</code></pre>
+
+<p>Create a volume named as <code>myvolume</code> with
+<a href="https://github.com/rancher/convoy/">convoy</a>.</p>
+
+<pre><code class="{.console}"> $ convoy create myvolume
+</code></pre>
+
+<p>Prepare a volume json file named as <code>myvolume.json</code> with following content.</p>
+
+<pre><code> [{
+ "container_path":"\/tmp\/myvolume",
+ "mode":"RW",
+ "source":
+ {
+ "docker_volume":
+ {
+ "driver":"convoy",
+ "name":"myvolume"
+ },
+ "type":"DOCKER_VOLUME"
+ }
+ }]
+</code></pre>
+
+<p>Now, use Mesos CLI (i.e., mesos-execute) to launch a Docker container with
+<code>--volumes=<path>/myvolume.json</code> option.</p>
+
+<pre><code class="{.console}"> $ sudo mesos-execute \
+ --master=<MASTER_IP>:5050 \
+ --name=test \
+ --docker_image=ubuntu:14.04 \
+ --command="touch /tmp/myvolume/myfile" \
+ --volumes=<path>/myvolume.json
+</code></pre>
+
+<p>Create another task to verify the file <code>myfile</code> was created successfully.</p>
+
+<pre><code class="{.console}"> $ sudo mesos-execute \
+ --master=<MASTER_IP>:5050 \
+ --name=test \
+ --docker_image=ubuntu:14.04 \
+ --command="ls /tmp/myvolume" \
+ --volumes=<path>/myvolume.json
+</code></pre>
+
+<p>Check the <a href="/documentation/latest/isolators/../sandbox/#where-is-it">sandbox</a>
+for the second task to check the file <code>myfile</code> was created successfully.</p>
+
+<pre><code class="{.console}"> $ cat stdout
+ Received SUBSCRIBED event
+ Subscribed executor on mesos002
+ Received LAUNCH event
+ Starting task test
+ Forked command at 27288
+ sh -c 'ls /tmp/myvolume/'
+ lost+found
+ myfile
+ Command exited with status 0 (pid: 27288)
+</code></pre>
+
+ </div>
+</div>
+
+ </div><!-- /.container -->
+</div><!-- /.content -->
+
+<hr>
+
+
+
+ <!-- footer -->
+ <div class="footer">
+ <div class="container">
+ <div class="col-md-4 social-blk">
+ <span class="social">
+ <a href="https://twitter.com/ApacheMesos"
+ class="twitter-follow-button"
+ data-show-count="false" data-size="large">Follow @ApacheMesos</a>
+ <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
+ <a href="https://twitter.com/intent/tweet?button_hashtag=mesos"
+ class="twitter-hashtag-button"
+ data-size="large"
+ data-related="ApacheMesos">Tweet #mesos</a>
+ <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
+ </span>
+ </div>
+
+ <div class="col-md-8 trademark">
+ <p>© 2012-2017 <a href="http://apache.org">The Apache Software Foundation</a>.
+ Apache Mesos, the Apache feather logo, and the Apache Mesos project logo are trademarks of The Apache Software Foundation.
+ <p>
+ </div>
+ </div><!-- /.container -->
+ </div><!-- /.footer -->
+
+ <!-- JS -->
+ <script src="//code.jquery.com/jquery-1.11.0.min.js" type="text/javascript"></script>
+ <script src="//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js" type="text/javascript"></script>
+ </body>
+</html>
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e73ac18b/content/documentation/latest/isolators/filesystem-shared/index.html
----------------------------------------------------------------------
diff --git a/content/documentation/latest/isolators/filesystem-shared/index.html b/content/documentation/latest/isolators/filesystem-shared/index.html
new file mode 100644
index 0000000..a184f24
--- /dev/null
+++ b/content/documentation/latest/isolators/filesystem-shared/index.html
@@ -0,0 +1,191 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <title>Apache Mesos - Shared Filesystem Isolator in Mesos Containerizer</title>
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+ <meta property="og:locale" content="en_US"/>
+ <meta property="og:type" content="website"/>
+ <meta property="og:title" content="Apache Mesos"/>
+ <meta property="og:site_name" content="Apache Mesos"/>
+ <meta property="og:url" content="http://mesos.apache.org/"/>
+ <meta property="og:image" content="http://mesos.apache.org/assets/img/mesos_logo_fb_preview.png"/>
+ <meta property="og:description"
+ content="Apache Mesos abstracts resources away from machines,
+ enabling fault-tolerant and elastic distributed systems
+ to easily be built and run effectively."/>
+
+ <meta name="twitter:card" content="summary"/>
+ <meta name="twitter:site" content="@ApacheMesos"/>
+ <meta name="twitter:title" content="Apache Mesos"/>
+ <meta name="twitter:image" content="http://mesos.apache.org/assets/img/mesos_logo_fb_preview.png"/>
+ <meta name="twitter:description"
+ content="Apache Mesos abstracts resources away from machines,
+ enabling fault-tolerant and elastic distributed systems
+ to easily be built and run effectively."/>
+
+ <link href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet">
+ <link rel="alternate" type="application/atom+xml" title="Apache Mesos Blog" href="/blog/feed.xml">
+ <link href="../../../../assets/css/main.css" media="screen" rel="stylesheet" type="text/css" />
+
+
+
+ <!-- Google Analytics Magic -->
+ <script type="text/javascript">
+ var _gaq = _gaq || [];
+ _gaq.push(['_setAccount', 'UA-20226872-1']);
+ _gaq.push(['_setDomainName', 'apache.org']);
+ _gaq.push(['_trackPageview']);
+
+ (function() {
+ var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+ ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+ })();
+ </script>
+
+ </head>
+ <body>
+ <!-- magical breadcrumbs -->
+ <div class="topnav">
+ <div class="container">
+ <ul class="breadcrumb">
+ <li>
+ <div class="dropdown">
+ <a data-toggle="dropdown" href="#">Apache Software Foundation <span class="caret"></span></a>
+ <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
+ <li><a href="http://www.apache.org">Apache Homepage</a></li>
+ <li><a href="http://www.apache.org/licenses/">License</a></li>
+ <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+ <li><a href="http://www.apache.org/security/">Security</a></li>
+ </ul>
+ </div>
+ </li>
+
+ <li><a href="http://mesos.apache.org">Apache Mesos</a></li>
+
+
+ <li><a href="/documentation
+/">Documentation
+</a></li>
+
+
+ </ul><!-- /.breadcrumb -->
+ </div><!-- /.container -->
+ </div><!-- /.topnav -->
+
+ <!-- navbar excitement -->
+<div class="navbar navbar-default navbar-static-top" role="navigation">
+ <div class="container">
+ <div class="navbar-header">
+ <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#mesos-menu" aria-expanded="false">
+ <span class="sr-only">Toggle navigation</span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+ <a class="navbar-brand" href="/"><img src="/assets/img/mesos_logo.png" alt="Apache Mesos logo"/></a>
+ </div><!-- /.navbar-header -->
+
+ <div class="navbar-collapse collapse" id="mesos-menu">
+ <ul class="nav navbar-nav navbar-right">
+ <li><a href="/gettingstarted/">Getting Started</a></li>
+ <li><a href="/blog/">Blog</a></li>
+ <li><a href="/documentation/latest/">Documentation</a></li>
+ <li><a href="/downloads/">Downloads</a></li>
+ <li><a href="/community/">Community</a></li>
+ </ul>
+ </div><!-- /#mesos-menu -->
+ </div><!-- /.container -->
+</div><!-- /.navbar -->
+
+<div class="content">
+ <div class="container">
+ <div class="row-fluid">
+ <div class="col-md-4">
+ <h4>If you're new to Mesos</h4>
+ <p>See the <a href="/gettingstarted/">getting started</a> page for more
+ information about downloading, building, and deploying Mesos.</p>
+
+ <h4>If you'd like to get involved or you're looking for support</h4>
+ <p>See our <a href="/community/">community</a> page for more details.</p>
+ </div>
+ <div class="col-md-8">
+ <h1>Shared Filesystem Isolator in Mesos Containerizer</h1>
+
+<p>This document describes the <code>filesystem/shared</code> isolator. You can turn
+on this isolator by specifying the <code>--isolation</code> agent flag (i.e.,
+<code>--isolation=filesystem/shared,...</code>).</p>
+
+<p>NOTE: This isolator has been deprecated in favor of using
+<code>filesytem/linux</code> isolator.</p>
+
+<p>The <code>filesystem/shared</code> isolator can optionally be used on Linux hosts
+to enable modifications to each container’s view of the shared
+filesystem.</p>
+
+<p>The modifications are specified in the ContainerInfo included in the
+ExecutorInfo, either by a framework or by using the
+<code>--default_container_info</code> agent flag.</p>
+
+<p>ContainerInfo specifies Volumes which map parts of the shared
+filesystem (host_path) into the container’s view of the filesystem
+(container_path), as read-write or read-only. The host_path can be
+absolute, in which case it will make the filesystem subtree rooted at
+host_path also accessible under container_path for each container.
+If host_path is relative then it is considered as a directory
+relative to the executor’s work directory. The directory will be
+created and permissions copied from the corresponding directory (which
+must exist) in the shared filesystem.</p>
+
+<p>The primary use-case for this isolator is to selectively make parts of
+the shared filesystem private to each container. For example, a
+private “/tmp” directory can be achieved with <code>host_path="tmp"</code> and
+<code>container_path="/tmp"</code> which will create a directory “tmp” inside the
+executor’s work directory (mode 1777) and simultaneously mount it as
+/tmp inside the container. This is transparent to processes running
+inside the container. Containers will not be able to see the host’s
+/tmp or any other container’s /tmp.</p>
+
+ </div>
+</div>
+
+ </div><!-- /.container -->
+</div><!-- /.content -->
+
+<hr>
+
+
+
+ <!-- footer -->
+ <div class="footer">
+ <div class="container">
+ <div class="col-md-4 social-blk">
+ <span class="social">
+ <a href="https://twitter.com/ApacheMesos"
+ class="twitter-follow-button"
+ data-show-count="false" data-size="large">Follow @ApacheMesos</a>
+ <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
+ <a href="https://twitter.com/intent/tweet?button_hashtag=mesos"
+ class="twitter-hashtag-button"
+ data-size="large"
+ data-related="ApacheMesos">Tweet #mesos</a>
+ <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
+ </span>
+ </div>
+
+ <div class="col-md-8 trademark">
+ <p>© 2012-2017 <a href="http://apache.org">The Apache Software Foundation</a>.
+ Apache Mesos, the Apache feather logo, and the Apache Mesos project logo are trademarks of The Apache Software Foundation.
+ <p>
+ </div>
+ </div><!-- /.container -->
+ </div><!-- /.footer -->
+
+ <!-- JS -->
+ <script src="//code.jquery.com/jquery-1.11.0.min.js" type="text/javascript"></script>
+ <script src="//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js" type="text/javascript"></script>
+ </body>
+</html>
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e73ac18b/content/documentation/latest/isolators/linux-capabilities/index.html
----------------------------------------------------------------------
diff --git a/content/documentation/latest/isolators/linux-capabilities/index.html b/content/documentation/latest/isolators/linux-capabilities/index.html
new file mode 100644
index 0000000..cd8163a
--- /dev/null
+++ b/content/documentation/latest/isolators/linux-capabilities/index.html
@@ -0,0 +1,230 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <title></title>
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+ <meta property="og:locale" content="en_US"/>
+ <meta property="og:type" content="website"/>
+ <meta property="og:title" content="Apache Mesos"/>
+ <meta property="og:site_name" content="Apache Mesos"/>
+ <meta property="og:url" content="http://mesos.apache.org/"/>
+ <meta property="og:image" content="http://mesos.apache.org/assets/img/mesos_logo_fb_preview.png"/>
+ <meta property="og:description"
+ content="Apache Mesos abstracts resources away from machines,
+ enabling fault-tolerant and elastic distributed systems
+ to easily be built and run effectively."/>
+
+ <meta name="twitter:card" content="summary"/>
+ <meta name="twitter:site" content="@ApacheMesos"/>
+ <meta name="twitter:title" content="Apache Mesos"/>
+ <meta name="twitter:image" content="http://mesos.apache.org/assets/img/mesos_logo_fb_preview.png"/>
+ <meta name="twitter:description"
+ content="Apache Mesos abstracts resources away from machines,
+ enabling fault-tolerant and elastic distributed systems
+ to easily be built and run effectively."/>
+
+ <link href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet">
+ <link rel="alternate" type="application/atom+xml" title="Apache Mesos Blog" href="/blog/feed.xml">
+ <link href="../../../../assets/css/main.css" media="screen" rel="stylesheet" type="text/css" />
+
+
+
+ <!-- Google Analytics Magic -->
+ <script type="text/javascript">
+ var _gaq = _gaq || [];
+ _gaq.push(['_setAccount', 'UA-20226872-1']);
+ _gaq.push(['_setDomainName', 'apache.org']);
+ _gaq.push(['_trackPageview']);
+
+ (function() {
+ var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+ ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+ })();
+ </script>
+
+ </head>
+ <body>
+ <!-- magical breadcrumbs -->
+ <div class="topnav">
+ <div class="container">
+ <ul class="breadcrumb">
+ <li>
+ <div class="dropdown">
+ <a data-toggle="dropdown" href="#">Apache Software Foundation <span class="caret"></span></a>
+ <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
+ <li><a href="http://www.apache.org">Apache Homepage</a></li>
+ <li><a href="http://www.apache.org/licenses/">License</a></li>
+ <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+ <li><a href="http://www.apache.org/security/">Security</a></li>
+ </ul>
+ </div>
+ </li>
+
+ <li><a href="http://mesos.apache.org">Apache Mesos</a></li>
+
+
+ <li><a href="/documentation
+/">Documentation
+</a></li>
+
+
+ </ul><!-- /.breadcrumb -->
+ </div><!-- /.container -->
+ </div><!-- /.topnav -->
+
+ <!-- navbar excitement -->
+<div class="navbar navbar-default navbar-static-top" role="navigation">
+ <div class="container">
+ <div class="navbar-header">
+ <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#mesos-menu" aria-expanded="false">
+ <span class="sr-only">Toggle navigation</span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+ <a class="navbar-brand" href="/"><img src="/assets/img/mesos_logo.png" alt="Apache Mesos logo"/></a>
+ </div><!-- /.navbar-header -->
+
+ <div class="navbar-collapse collapse" id="mesos-menu">
+ <ul class="nav navbar-nav navbar-right">
+ <li><a href="/gettingstarted/">Getting Started</a></li>
+ <li><a href="/blog/">Blog</a></li>
+ <li><a href="/documentation/latest/">Documentation</a></li>
+ <li><a href="/downloads/">Downloads</a></li>
+ <li><a href="/community/">Community</a></li>
+ </ul>
+ </div><!-- /#mesos-menu -->
+ </div><!-- /.container -->
+</div><!-- /.navbar -->
+
+<div class="content">
+ <div class="container">
+ <div class="row-fluid">
+ <div class="col-md-4">
+ <h4>If you're new to Mesos</h4>
+ <p>See the <a href="/gettingstarted/">getting started</a> page for more
+ information about downloading, building, and deploying Mesos.</p>
+
+ <h4>If you'd like to get involved or you're looking for support</h4>
+ <p>See our <a href="/community/">community</a> page for more details.</p>
+ </div>
+ <div class="col-md-8">
+ <h1>Linux Capabilities Support in Mesos Containerizer</h1>
+
+<p>This document describes the <code>linux/capabilities</code> isolator. The
+isolator adds support for controlling <a href="http://man7.org/linux/man-pages/man7/capabilities.7.html">Linux
+Capabilities</a>
+of containers launched using the
+<a href="/documentation/latest/isolators/../mesos-containerizer/">MesosContainerizer</a></p>
+
+<p>The Linux capabilities isolator allows operators to control which
+privileged operations Mesos tasks may perform. Operators can specify
+which capabilities to allow for containers executing on an agent;
+containers on the other hand can expose which capabilities they need.</p>
+
+<p>See the protobuf definition of <code>CapabilityInfo::Capability</code> for the
+list of currently exposed capabilities.</p>
+
+<h2>Agent setup</h2>
+
+<p>The Linux capabilities isolator is loaded when <code>linux/capabilities</code> is
+present in the agent’s <code>--isolation</code> flag. This isolator requires the
+<code>CAP_SETPCAP</code> capability so agent processes typically need to be started
+as root.</p>
+
+<p>The <code>--effective_capabilities</code> flag specifies a set of capabilities that
+are always granted to tasks. If the running kernel (Linux 4.3 or later)
+supports ambient capabilities, these capabilities will be added to the
+effective capability set of the task when it is launched. Otherwise
+they must be re-acquired by arranging for the task to execute a file
+with the relevant file-based capabilities enabled.</p>
+
+<p>In the absence of capabilities specified by the scheduler, an empty list
+for <code>--effective_capabilities</code> signifies that all capabilities will
+be explicitly dropped. If the <code>--effective_capabilities</code> flag is not
+present, the task will be launched with the default capabilities of the
+task user but the ambient capabilities will not be set.</p>
+
+<p>The <code>--bounding_capabilities</code> flag specifies an upper bound on the
+the capabilities a task is allowed to acquire or be granted.
+Schedulers are not allowed to launch tasks with capabilities outside
+the set specified by the <code>--bounding_capabilities</code> flag, but may
+specify effective or bounding capabilities that are within this
+set.</p>
+
+<p>An empty list for <code>--bounding_capabilities</code> signifies that no capabilities
+are allowed, while an absent <code>--bounding_capabilities</code> flag signifies
+that all capabilities are allowed.</p>
+
+<p>A possible agent startup invocation could be</p>
+
+<pre><code class="{.console}">sudo mesos-agent --master=<master ip> --ip=<agent ip>
+ --work_dir=/var/lib/mesos
+ --isolation=linux/capabilities[,other isolation flags]
+ --effective_capabilities='{"capabilities":[NET_RAW,MKNOD]}'
+ --bounding_capabilities='{"capabilities":[NET_RAW,MKNOD,SYSLOG]}'
+</code></pre>
+
+<h2>Task setup</h2>
+
+<p>In order for a Mesos task to acquire specific effective capabilities
+or limit its bounding capabilities it should declare the required
+capabilities in the <code>LinuxInfo</code> element of its <code>ContainerInfo</code>.</p>
+
+<p>A Mesos task can only request capabilities which are allowed according
+to the <code>--bounding_capabilities</code> flag of the agent; a task requesting
+other capabilities will be rejected. When the <code>--bounding_capabilities</code>
+flag is not present, all capability requests will be granted.</p>
+
+<p>If the optional <code>effective_capabilities</code> field is not set, the value
+of the <code>--effective_capabilities</code> flag will be used to populate the
+task capabilities. If the optional <code>bounding_capabilities</code> field
+is not set, the value of the <code>--bounding_capabilities</code> flag will
+be used to populate the task capabilities. In both case, if an empty
+list of capabilities is given, the Mesos task will drop all
+capabilities in the corresponding set.</p>
+
+ </div>
+</div>
+
+ </div><!-- /.container -->
+</div><!-- /.content -->
+
+<hr>
+
+
+
+ <!-- footer -->
+ <div class="footer">
+ <div class="container">
+ <div class="col-md-4 social-blk">
+ <span class="social">
+ <a href="https://twitter.com/ApacheMesos"
+ class="twitter-follow-button"
+ data-show-count="false" data-size="large">Follow @ApacheMesos</a>
+ <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
+ <a href="https://twitter.com/intent/tweet?button_hashtag=mesos"
+ class="twitter-hashtag-button"
+ data-size="large"
+ data-related="ApacheMesos">Tweet #mesos</a>
+ <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
+ </span>
+ </div>
+
+ <div class="col-md-8 trademark">
+ <p>© 2012-2017 <a href="http://apache.org">The Apache Software Foundation</a>.
+ Apache Mesos, the Apache feather logo, and the Apache Mesos project logo are trademarks of The Apache Software Foundation.
+ <p>
+ </div>
+ </div><!-- /.container -->
+ </div><!-- /.footer -->
+
+ <!-- JS -->
+ <script src="//code.jquery.com/jquery-1.11.0.min.js" type="text/javascript"></script>
+ <script src="//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js" type="text/javascript"></script>
+ </body>
+</html>
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e73ac18b/content/documentation/latest/isolators/namespaces-ipc/index.html
----------------------------------------------------------------------
diff --git a/content/documentation/latest/isolators/namespaces-ipc/index.html b/content/documentation/latest/isolators/namespaces-ipc/index.html
new file mode 100644
index 0000000..f510a38
--- /dev/null
+++ b/content/documentation/latest/isolators/namespaces-ipc/index.html
@@ -0,0 +1,166 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <title>Apache Mesos - IPC Namespace Isolator in Mesos Containerizer</title>
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+ <meta property="og:locale" content="en_US"/>
+ <meta property="og:type" content="website"/>
+ <meta property="og:title" content="Apache Mesos"/>
+ <meta property="og:site_name" content="Apache Mesos"/>
+ <meta property="og:url" content="http://mesos.apache.org/"/>
+ <meta property="og:image" content="http://mesos.apache.org/assets/img/mesos_logo_fb_preview.png"/>
+ <meta property="og:description"
+ content="Apache Mesos abstracts resources away from machines,
+ enabling fault-tolerant and elastic distributed systems
+ to easily be built and run effectively."/>
+
+ <meta name="twitter:card" content="summary"/>
+ <meta name="twitter:site" content="@ApacheMesos"/>
+ <meta name="twitter:title" content="Apache Mesos"/>
+ <meta name="twitter:image" content="http://mesos.apache.org/assets/img/mesos_logo_fb_preview.png"/>
+ <meta name="twitter:description"
+ content="Apache Mesos abstracts resources away from machines,
+ enabling fault-tolerant and elastic distributed systems
+ to easily be built and run effectively."/>
+
+ <link href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet">
+ <link rel="alternate" type="application/atom+xml" title="Apache Mesos Blog" href="/blog/feed.xml">
+ <link href="../../../../assets/css/main.css" media="screen" rel="stylesheet" type="text/css" />
+
+
+
+ <!-- Google Analytics Magic -->
+ <script type="text/javascript">
+ var _gaq = _gaq || [];
+ _gaq.push(['_setAccount', 'UA-20226872-1']);
+ _gaq.push(['_setDomainName', 'apache.org']);
+ _gaq.push(['_trackPageview']);
+
+ (function() {
+ var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+ ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+ })();
+ </script>
+
+ </head>
+ <body>
+ <!-- magical breadcrumbs -->
+ <div class="topnav">
+ <div class="container">
+ <ul class="breadcrumb">
+ <li>
+ <div class="dropdown">
+ <a data-toggle="dropdown" href="#">Apache Software Foundation <span class="caret"></span></a>
+ <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
+ <li><a href="http://www.apache.org">Apache Homepage</a></li>
+ <li><a href="http://www.apache.org/licenses/">License</a></li>
+ <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+ <li><a href="http://www.apache.org/security/">Security</a></li>
+ </ul>
+ </div>
+ </li>
+
+ <li><a href="http://mesos.apache.org">Apache Mesos</a></li>
+
+
+ <li><a href="/documentation
+/">Documentation
+</a></li>
+
+
+ </ul><!-- /.breadcrumb -->
+ </div><!-- /.container -->
+ </div><!-- /.topnav -->
+
+ <!-- navbar excitement -->
+<div class="navbar navbar-default navbar-static-top" role="navigation">
+ <div class="container">
+ <div class="navbar-header">
+ <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#mesos-menu" aria-expanded="false">
+ <span class="sr-only">Toggle navigation</span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+ <a class="navbar-brand" href="/"><img src="/assets/img/mesos_logo.png" alt="Apache Mesos logo"/></a>
+ </div><!-- /.navbar-header -->
+
+ <div class="navbar-collapse collapse" id="mesos-menu">
+ <ul class="nav navbar-nav navbar-right">
+ <li><a href="/gettingstarted/">Getting Started</a></li>
+ <li><a href="/blog/">Blog</a></li>
+ <li><a href="/documentation/latest/">Documentation</a></li>
+ <li><a href="/downloads/">Downloads</a></li>
+ <li><a href="/community/">Community</a></li>
+ </ul>
+ </div><!-- /#mesos-menu -->
+ </div><!-- /.container -->
+</div><!-- /.navbar -->
+
+<div class="content">
+ <div class="container">
+ <div class="row-fluid">
+ <div class="col-md-4">
+ <h4>If you're new to Mesos</h4>
+ <p>See the <a href="/gettingstarted/">getting started</a> page for more
+ information about downloading, building, and deploying Mesos.</p>
+
+ <h4>If you'd like to get involved or you're looking for support</h4>
+ <p>See our <a href="/community/">community</a> page for more details.</p>
+ </div>
+ <div class="col-md-8">
+ <h1>IPC Namespace Isolator in Mesos Containerizer</h1>
+
+<p>The IPC Namespace isolator can be used on Linux to place tasks
+in a distinct IPC namespace. The benefit of this is that any
+<a href="http://man7.org/linux/man-pages/man7/svipc.7.html">IPC objects</a> created
+in the container will be automatically removed when the container is
+destroyed.</p>
+
+<p>To enable the IPC namespace isolator, append <code>namespaces/ipc</code> to the
+<code>--isolation</code> flag when starting the agent.</p>
+
+ </div>
+</div>
+
+ </div><!-- /.container -->
+</div><!-- /.content -->
+
+<hr>
+
+
+
+ <!-- footer -->
+ <div class="footer">
+ <div class="container">
+ <div class="col-md-4 social-blk">
+ <span class="social">
+ <a href="https://twitter.com/ApacheMesos"
+ class="twitter-follow-button"
+ data-show-count="false" data-size="large">Follow @ApacheMesos</a>
+ <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
+ <a href="https://twitter.com/intent/tweet?button_hashtag=mesos"
+ class="twitter-hashtag-button"
+ data-size="large"
+ data-related="ApacheMesos">Tweet #mesos</a>
+ <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
+ </span>
+ </div>
+
+ <div class="col-md-8 trademark">
+ <p>© 2012-2017 <a href="http://apache.org">The Apache Software Foundation</a>.
+ Apache Mesos, the Apache feather logo, and the Apache Mesos project logo are trademarks of The Apache Software Foundation.
+ <p>
+ </div>
+ </div><!-- /.container -->
+ </div><!-- /.footer -->
+
+ <!-- JS -->
+ <script src="//code.jquery.com/jquery-1.11.0.min.js" type="text/javascript"></script>
+ <script src="//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js" type="text/javascript"></script>
+ </body>
+</html>
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e73ac18b/content/documentation/latest/isolators/namespaces-pid/index.html
----------------------------------------------------------------------
diff --git a/content/documentation/latest/isolators/namespaces-pid/index.html b/content/documentation/latest/isolators/namespaces-pid/index.html
new file mode 100644
index 0000000..0dfb4a3
--- /dev/null
+++ b/content/documentation/latest/isolators/namespaces-pid/index.html
@@ -0,0 +1,182 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <title>Apache Mesos - Pid Namespace Isolator in Mesos Containerizer</title>
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+ <meta property="og:locale" content="en_US"/>
+ <meta property="og:type" content="website"/>
+ <meta property="og:title" content="Apache Mesos"/>
+ <meta property="og:site_name" content="Apache Mesos"/>
+ <meta property="og:url" content="http://mesos.apache.org/"/>
+ <meta property="og:image" content="http://mesos.apache.org/assets/img/mesos_logo_fb_preview.png"/>
+ <meta property="og:description"
+ content="Apache Mesos abstracts resources away from machines,
+ enabling fault-tolerant and elastic distributed systems
+ to easily be built and run effectively."/>
+
+ <meta name="twitter:card" content="summary"/>
+ <meta name="twitter:site" content="@ApacheMesos"/>
+ <meta name="twitter:title" content="Apache Mesos"/>
+ <meta name="twitter:image" content="http://mesos.apache.org/assets/img/mesos_logo_fb_preview.png"/>
+ <meta name="twitter:description"
+ content="Apache Mesos abstracts resources away from machines,
+ enabling fault-tolerant and elastic distributed systems
+ to easily be built and run effectively."/>
+
+ <link href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet">
+ <link rel="alternate" type="application/atom+xml" title="Apache Mesos Blog" href="/blog/feed.xml">
+ <link href="../../../../assets/css/main.css" media="screen" rel="stylesheet" type="text/css" />
+
+
+
+ <!-- Google Analytics Magic -->
+ <script type="text/javascript">
+ var _gaq = _gaq || [];
+ _gaq.push(['_setAccount', 'UA-20226872-1']);
+ _gaq.push(['_setDomainName', 'apache.org']);
+ _gaq.push(['_trackPageview']);
+
+ (function() {
+ var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+ ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+ })();
+ </script>
+
+ </head>
+ <body>
+ <!-- magical breadcrumbs -->
+ <div class="topnav">
+ <div class="container">
+ <ul class="breadcrumb">
+ <li>
+ <div class="dropdown">
+ <a data-toggle="dropdown" href="#">Apache Software Foundation <span class="caret"></span></a>
+ <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
+ <li><a href="http://www.apache.org">Apache Homepage</a></li>
+ <li><a href="http://www.apache.org/licenses/">License</a></li>
+ <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+ <li><a href="http://www.apache.org/security/">Security</a></li>
+ </ul>
+ </div>
+ </li>
+
+ <li><a href="http://mesos.apache.org">Apache Mesos</a></li>
+
+
+ <li><a href="/documentation
+/">Documentation
+</a></li>
+
+
+ </ul><!-- /.breadcrumb -->
+ </div><!-- /.container -->
+ </div><!-- /.topnav -->
+
+ <!-- navbar excitement -->
+<div class="navbar navbar-default navbar-static-top" role="navigation">
+ <div class="container">
+ <div class="navbar-header">
+ <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#mesos-menu" aria-expanded="false">
+ <span class="sr-only">Toggle navigation</span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+ <a class="navbar-brand" href="/"><img src="/assets/img/mesos_logo.png" alt="Apache Mesos logo"/></a>
+ </div><!-- /.navbar-header -->
+
+ <div class="navbar-collapse collapse" id="mesos-menu">
+ <ul class="nav navbar-nav navbar-right">
+ <li><a href="/gettingstarted/">Getting Started</a></li>
+ <li><a href="/blog/">Blog</a></li>
+ <li><a href="/documentation/latest/">Documentation</a></li>
+ <li><a href="/downloads/">Downloads</a></li>
+ <li><a href="/community/">Community</a></li>
+ </ul>
+ </div><!-- /#mesos-menu -->
+ </div><!-- /.container -->
+</div><!-- /.navbar -->
+
+<div class="content">
+ <div class="container">
+ <div class="row-fluid">
+ <div class="col-md-4">
+ <h4>If you're new to Mesos</h4>
+ <p>See the <a href="/gettingstarted/">getting started</a> page for more
+ information about downloading, building, and deploying Mesos.</p>
+
+ <h4>If you'd like to get involved or you're looking for support</h4>
+ <p>See our <a href="/community/">community</a> page for more details.</p>
+ </div>
+ <div class="col-md-8">
+ <h1>Pid Namespace Isolator in Mesos Containerizer</h1>
+
+<p>The <code>namespaces/pid</code> isolator can be used to isolate each container in
+a separate pid namespace with two main benefits:</p>
+
+<ol>
+<li><p>Visibility: Processes running in the container (executor and
+descendants) are unable to see or signal processes outside the
+namespace.</p></li>
+<li><p>Clean termination: Termination of the leading process in a pid
+namespace will result in the kernel terminating all other processes
+in the namespace.</p></li>
+</ol>
+
+
+<p>You can turn on this isolator by specifying the <code>--isolation</code> agent
+flag (i.e., <code>--isolation=namespaces/pid,...</code>). Note that
+<code>filesystem/linux</code> isolator is required for turning on pid namespace
+isolator.</p>
+
+<p>The Launcher will use (2) during destruction of a container in
+preference to the freezer cgroup, avoiding known kernel issues related
+to freezing cgroups under OOM conditions.</p>
+
+<p><code>/proc</code> will be mounted for containers so tools such as <code>ps</code> will work
+correctly.</p>
+
+ </div>
+</div>
+
+ </div><!-- /.container -->
+</div><!-- /.content -->
+
+<hr>
+
+
+
+ <!-- footer -->
+ <div class="footer">
+ <div class="container">
+ <div class="col-md-4 social-blk">
+ <span class="social">
+ <a href="https://twitter.com/ApacheMesos"
+ class="twitter-follow-button"
+ data-show-count="false" data-size="large">Follow @ApacheMesos</a>
+ <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
+ <a href="https://twitter.com/intent/tweet?button_hashtag=mesos"
+ class="twitter-hashtag-button"
+ data-size="large"
+ data-related="ApacheMesos">Tweet #mesos</a>
+ <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
+ </span>
+ </div>
+
+ <div class="col-md-8 trademark">
+ <p>© 2012-2017 <a href="http://apache.org">The Apache Software Foundation</a>.
+ Apache Mesos, the Apache feather logo, and the Apache Mesos project logo are trademarks of The Apache Software Foundation.
+ <p>
+ </div>
+ </div><!-- /.container -->
+ </div><!-- /.footer -->
+
+ <!-- JS -->
+ <script src="//code.jquery.com/jquery-1.11.0.min.js" type="text/javascript"></script>
+ <script src="//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js" type="text/javascript"></script>
+ </body>
+</html>