| <!DOCTYPE html> |
| <!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]--> |
| <!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]--> |
| <!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]--> |
| <!--[if gt IE 8]><!--> |
| <html class="no-js" xmlns="http://www.w3.org/1999/html"> <!--<![endif]--> |
| <head> |
| <meta charset="utf-8"> |
| <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
| <title>Docker - the Linux container runtime</title> |
| |
| <meta name="description" content="Docker encapsulates heterogeneous payloads in standard containers"> |
| <meta name="viewport" content="width=device-width"> |
| |
| <!-- twitter bootstrap --> |
| <link rel="stylesheet" href="_static/css/bootstrap.min.css"> |
| <link rel="stylesheet" href="_static/css/bootstrap-responsive.min.css"> |
| |
| <!-- main style file --> |
| <link rel="stylesheet" href="_static/css/main.css"> |
| |
| <!-- vendor scripts --> |
| <script src="_static/js/vendor/jquery-1.9.1.min.js" type="text/javascript" ></script> |
| <script src="_static/js/vendor/modernizr-2.6.2-respond-1.1.0.min.js" type="text/javascript" ></script> |
| |
| </head> |
| |
| |
| <body> |
| |
| <div class="navbar navbar-fixed-top"> |
| <div class="navbar-dotcloud"> |
| <div class="container" style="text-align: center;"> |
| |
| <div class="pull-right" > |
| <ul class="nav"> |
| <li class="active"><a href="./">Introduction</a></li> |
| <li ><a href="gettingstarted/">Getting started</a></li> |
| <li class=""><a href="http://docs.docker.io/en/latest/concepts/containers/">Documentation</a></li> |
| </ul> |
| |
| <div class="social links" style="float: right; margin-top: 14px; margin-left: 12px"> |
| <a class="twitter" href="http://twitter.com/getdocker">Twitter</a> |
| <a class="github" href="https://github.com/dotcloud/docker/">GitHub</a> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| |
| <div class="container"> |
| <div class="row"> |
| <div class="text-center"> |
| <img src="_static/img/docker-letters-logo.gif"> |
| </div> |
| </div> |
| </div> |
| |
| <div class="container"> |
| <div class="row"> |
| |
| <div class="span12"> |
| <section class="contentblock header"> |
| |
| <div class="span6" style="margin:10px 0px 0px 30px; float: right; "> |
| <div class="js-video" > |
| <iframe width="640" height="360" src="http://www.youtube.com/embed/wW9CAH9nSLs?feature=player_detailpage&rel=0&modestbranding=1&start=11" frameborder="0" allowfullscreen></iframe> |
| </div> |
| </div> |
| |
| <div style="text-align: center; padding: 50px 30px 50px 30px;"> |
| <h1>Docker</h1> |
| <h2>The Linux container runtime</h2> |
| </div> |
| |
| <div style="display: block; text-align: center; padding: 10px 30px 50px 30px;"> |
| <p> |
| Docker complements LXC with a high-level API which operates at the process level. |
| It runs unix processes with strong guarantees of isolation and repeatability across servers. |
| </p> |
| |
| <p> |
| Docker is a great building block for automating distributed systems: large-scale web deployments, database clusters, continuous deployment systems, private PaaS, service-oriented architectures, etc. |
| </p> |
| </div> |
| |
| |
| <div style="display: block; text-align: center;"> |
| <a class="btn btn-custom btn-large" href="gettingstarted/">Let's get started</a> |
| </div> |
| |
| |
| |
| <br style="clear: both"/> |
| </section> |
| </div> |
| </div> |
| </div> |
| |
| <div class="container"> |
| <div class="row"> |
| |
| <div class="span3"> |
| <section class="contentblock"> |
| <h4>Heterogeneous payloads</h4> |
| <p>Any combination of binaries, libraries, configuration files, scripts, virtualenvs, jars, gems, tarballs, you name it. No more juggling between domain-specific tools. Docker can deploy and run them all.</p> |
| </section> |
| </div> |
| <div class="span3"> |
| <section class="contentblock"> |
| <h4>Any server</h4> |
| <p>Docker can run on any x64 machine with a modern linux kernel - whether it's a laptop, a bare metal server or a VM. This makes it perfect for multi-cloud deployments.</p> |
| </section> |
| </div> |
| <div class="span3"> |
| <section class="contentblock"> |
| <h4>Isolation</h4> |
| <p>docker isolates processes from each other and from the underlying host, using lightweight containers.</p> |
| </section> |
| </div> |
| <div class="span3"> |
| <section class="contentblock"> |
| <h4>Repeatability</h4> |
| <p>Because containers are isolated in their own filesystem, they behave the same regardless of where, when, and alongside what they run.</p> |
| </section> |
| </div> |
| </div> |
| </div> |
| |
| <style> |
| .twitterblock { |
| min-height: 75px; |
| } |
| |
| .twitterblock img { |
| float: left; |
| margin-right: 10px; |
| } |
| |
| </style> |
| |
| |
| <div class="container"> |
| <div class="row"> |
| <div class="span6"> |
| <section class="contentblock twitterblock"> |
| <img src="https://twimg0-a.akamaihd.net/profile_images/2491994496/rbevyyq6ykp6bnoby2je_bigger.jpeg"> |
| <em>John Willis @botchagalupe:</em> IMHO docker is to paas what chef was to Iaas 4 years ago |
| </section> |
| </div> |
| <div class="span6"> |
| <section class="contentblock twitterblock"> |
| <img src="https://twimg0-a.akamaihd.net/profile_images/3348427561/9d7f08f1e103a16c8debd169301b9944_bigger.jpeg"> |
| <em>John Feminella @superninjarobot:</em> So, @getdocker is pure excellence. If you've ever wished for arbitrary, PaaS-agnostic, lxc/aufs Linux containers, this is your jam! |
| </section> |
| </div> |
| </div> |
| <div class="row"> |
| <div class="span6"> |
| <section class="contentblock twitterblock"> |
| <img src="https://si0.twimg.com/profile_images/3408403010/4496ccdd14e9b7285eca04c31a740207_bigger.jpeg"> |
| <em>David Romulan @destructuring:</em> I haven't had this much fun since AWS |
| </section> |
| </div> |
| <div class="span6"> |
| <section class="contentblock twitterblock"> |
| <img src="https://si0.twimg.com/profile_images/780893320/My_Avatar_bigger.jpg"> |
| <em>Ricardo Gladwell @rgladwell:</em> wow @getdocker is either amazing or totally stupid |
| </section> |
| </div> |
| |
| </div> |
| </div> |
| |
| <!-- <p>Docker encapsulates heterogeneous payloads in <a href="#container">Standard Containers</a>, and runs them on any server with strong guarantees of isolation and repeatability.</p> |
| |
| <p>It is a great building block for automating distributed systems: large-scale web deployments, database clusters, continuous deployment systems, private PaaS, service-oriented architectures, etc.</p> |
| |
| --> |
| <div class="container"> |
| <div class="row"> |
| <div class="span6"> |
| |
| <section class="contentblock"> |
| |
| <!-- <img src="_static/lego_docker.jpg" width="600px" style="float:right; margin-left: 10px"> --> |
| <h2>Notable features</h2> |
| |
| <ul> |
| <li>Filesystem isolation: each process container runs in a completely separate root filesystem.</li> |
| <li>Resource isolation: system resources like cpu and memory can be allocated differently to each process container, using cgroups.</li> |
| <li>Network isolation: each process container runs in its own network namespace, with a virtual interface and IP address of its own.</li> |
| <li>Copy-on-write: root filesystems are created using copy-on-write, which makes deployment extremeley fast, memory-cheap and disk-cheap.</li> |
| <li>Logging: the standard streams (stdout/stderr/stdin) of each process container is collected and logged for real-time or batch retrieval.</li> |
| <li>Change management: changes to a container's filesystem can be committed into a new image and re-used to create more containers. No templating or manual configuration required.</li> |
| <li>Interactive shell: docker can allocate a pseudo-tty and attach to the standard input of any container, for example to run a throwaway interactive shell.</li> |
| </ul> |
| |
| <h2>Under the hood</h2> |
| |
| <p>Under the hood, Docker is built on the following components:</p> |
| |
| <ul> |
| <li>The <a href="http://blog.dotcloud.com/kernel-secrets-from-the-paas-garage-part-24-c">cgroup</a> and <a href="http://blog.dotcloud.com/under-the-hood-linux-kernels-on-dotcloud-part">namespacing</a> capabilities of the Linux kernel;</li> |
| <li><a href="http://aufs.sourceforge.net/aufs.html">AUFS</a>, a powerful union filesystem with copy-on-write capabilities;</li> |
| <li>The <a href="http://golang.org">Go</a> programming language;</li> |
| <li><a href="http://lxc.sourceforge.net/">lxc</a>, a set of convenience scripts to simplify the creation of linux containers.</li> |
| </ul> |
| |
| </section> |
| </div> |
| |
| <div class="span6"> |
| <section class="contentblock"> |
| <div id="wufoo-z7x3p3"> |
| Fill out my <a href="http://dotclouddocker.wufoo.com/forms/z7x3p3">online form</a>. |
| </div> |
| <script type="text/javascript">var z7x3p3;(function(d, t) { |
| var s = d.createElement(t), options = { |
| 'userName':'dotclouddocker', |
| 'formHash':'z7x3p3', |
| 'autoResize':true, |
| 'height':'577', |
| 'async':true, |
| 'header':'show'}; |
| s.src = ('https:' == d.location.protocol ? 'https://' : 'http://') + 'wufoo.com/scripts/embed/form.js'; |
| s.onload = s.onreadystatechange = function() { |
| var rs = this.readyState; if (rs) if (rs != 'complete') if (rs != 'loaded') return; |
| try { z7x3p3 = new WufooForm();z7x3p3.initialize(options);z7x3p3.display(); } catch (e) {}}; |
| var scr = d.getElementsByTagName(t)[0], par = scr.parentNode; par.insertBefore(s, scr); |
| })(document, 'script');</script> |
| </section> |
| |
| <section class="contentblock"> |
| <h3 id="twitter">Twitter</h3> |
| <a class="twitter-timeline" href="https://twitter.com/getdocker" data-widget-id="312730839718957056">Tweets by @getdocker</a> |
| <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script> |
| </section> |
| </div> |
| </div> |
| |
| </div> <!-- end container --> |
| |
| |
| <div class="container"> |
| <footer id="footer" class="footer"> |
| <div class="row"> |
| <div class="span12"> |
| |
| Docker is a project by <a href="http://www.dotcloud.com">dotCloud</a> |
| |
| </div> |
| </div> |
| |
| <div class="row"> |
| <div class="emptyspace" style="height: 40px"> |
| |
| </div> |
| </div> |
| |
| </footer> |
| </div> |
| |
| |
| |
| <!-- bootstrap javascipts --> |
| <script src="_static/js/vendor/bootstrap.min.js" type="text/javascript"></script> |
| |
| <!-- Google analytics --> |
| <script type="text/javascript"> |
| |
| var _gaq = _gaq || []; |
| _gaq.push(['_setAccount', 'UA-6096819-11']); |
| _gaq.push(['_setDomainName', 'docker.io']); |
| _gaq.push(['_setAllowLinker', true]); |
| _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> |
| |
| |
| </body> |
| </html> |