index.html 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299
  1. <!DOCTYPE html>
  2. <!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
  3. <!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
  4. <!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->
  5. <!--[if gt IE 8]><!-->
  6. <html class="no-js" xmlns="http://www.w3.org/1999/html"> <!--<![endif]-->
  7. <head>
  8. <meta charset="utf-8">
  9. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  10. <title>Docker - the Linux container engine</title>
  11. <meta name="description" content="Docker encapsulates heterogeneous payloads in standard containers">
  12. <meta name="viewport" content="width=device-width">
  13. <!-- twitter bootstrap -->
  14. <link rel="stylesheet" href="_static/css/bootstrap.min.css">
  15. <link rel="stylesheet" href="_static/css/bootstrap-responsive.min.css">
  16. <!-- main style file -->
  17. <link rel="stylesheet" href="_static/css/main.css">
  18. <!-- vendor scripts -->
  19. <script src="_static/js/vendor/jquery-1.9.1.min.js" type="text/javascript" ></script>
  20. <script src="_static/js/vendor/modernizr-2.6.2-respond-1.1.0.min.js" type="text/javascript" ></script>
  21. </head>
  22. <body>
  23. <div class="navbar navbar-fixed-top">
  24. <div class="navbar-dotcloud">
  25. <div class="container" style="text-align: center;">
  26. <div class="pull-right" >
  27. <ul class="nav">
  28. <li class="active"><a href="./">Introduction</a></li>
  29. <li ><a href="gettingstarted/">Getting started</a></li>
  30. <li class=""><a href="http://docs.docker.io/en/latest/concepts/containers/">Documentation</a></li>
  31. </ul>
  32. <div class="social links" style="float: right; margin-top: 14px; margin-left: 12px">
  33. <a class="twitter" href="http://twitter.com/getdocker">Twitter</a>
  34. <a class="github" href="https://github.com/dotcloud/docker/">GitHub</a>
  35. </div>
  36. </div>
  37. </div>
  38. </div>
  39. </div>
  40. <div class="container">
  41. <div class="row">
  42. <div class="text-center">
  43. <img src="_static/img/docker-letters-logo.gif">
  44. </div>
  45. </div>
  46. </div>
  47. <div class="container">
  48. <div class="row">
  49. <div class="span12">
  50. <section class="contentblock header">
  51. <div class="span6" style="margin:10px 0px 0px 30px; float: right; ">
  52. <div class="js-video" >
  53. <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>
  54. </div>
  55. </div>
  56. <div style="text-align: center; padding: 50px 30px 50px 30px;">
  57. <h1>Docker</h1>
  58. <h2>The Linux container engine</h2>
  59. </div>
  60. <div style="display: block; text-align: center; padding: 10px 30px 50px 30px;">
  61. <p>
  62. Docker is an open-source engine which automates the deployment of applications as highly portable, self-sufficient containers.
  63. </p>
  64. <p>
  65. Docker containers are both <string>hardware-agnostic</strong> and <strong>platform-agnostic</strong>. This means that they can run anywhere, from your
  66. laptop to the largest EC2 compute instance and everything in between - and they don't require that you use a particular
  67. language, framework or packaging system. That makes them great building blocks for deploying and scaling web apps, databases
  68. and backend services without depending on a particular stack or provider.
  69. </p>
  70. <p>
  71. Docker is an open-source implementation of the deployment engine which powers <a href="http://dotcloud.com">dotCloud</a>, a popular Platform-as-a-Service.
  72. It benefits directly from the experience accumulated over several years of large-scale operation and support of hundreds of thousands
  73. of applications and databases.
  74. </p>
  75. </div>
  76. <div style="display: block; text-align: center;">
  77. <a class="btn btn-custom btn-large" href="gettingstarted/">Let's get started</a>
  78. </div>
  79. <br style="clear: both"/>
  80. </section>
  81. </div>
  82. </div>
  83. </div>
  84. <div class="container">
  85. <div class="row">
  86. <div class="span3">
  87. <section class="contentblock">
  88. <h4>Heterogeneous payloads</h4>
  89. <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>
  90. </section>
  91. </div>
  92. <div class="span3">
  93. <section class="contentblock">
  94. <h4>Any server</h4>
  95. <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>
  96. </section>
  97. </div>
  98. <div class="span3">
  99. <section class="contentblock">
  100. <h4>Isolation</h4>
  101. <p>docker isolates processes from each other and from the underlying host, using lightweight containers.</p>
  102. </section>
  103. </div>
  104. <div class="span3">
  105. <section class="contentblock">
  106. <h4>Repeatability</h4>
  107. <p>Because containers are isolated in their own filesystem, they behave the same regardless of where, when, and alongside what they run.</p>
  108. </section>
  109. </div>
  110. </div>
  111. </div>
  112. <style>
  113. .twitterblock {
  114. min-height: 75px;
  115. }
  116. .twitterblock img {
  117. float: left;
  118. margin-right: 10px;
  119. }
  120. </style>
  121. <div class="container">
  122. <div class="row">
  123. <div class="span6">
  124. <section class="contentblock twitterblock">
  125. <img src="https://twimg0-a.akamaihd.net/profile_images/2491994496/rbevyyq6ykp6bnoby2je_bigger.jpeg">
  126. <em>John Willis @botchagalupe:</em> IMHO docker is to paas what chef was to Iaas 4 years ago
  127. </section>
  128. </div>
  129. <div class="span6">
  130. <section class="contentblock twitterblock">
  131. <img src="https://twimg0-a.akamaihd.net/profile_images/3348427561/9d7f08f1e103a16c8debd169301b9944_bigger.jpeg">
  132. <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!
  133. </section>
  134. </div>
  135. </div>
  136. <div class="row">
  137. <div class="span6">
  138. <section class="contentblock twitterblock">
  139. <img src="https://si0.twimg.com/profile_images/3408403010/4496ccdd14e9b7285eca04c31a740207_bigger.jpeg">
  140. <em>David Romulan ‏@destructuring:</em> I haven't had this much fun since AWS
  141. </section>
  142. </div>
  143. <div class="span6">
  144. <section class="contentblock twitterblock">
  145. <img src="https://si0.twimg.com/profile_images/780893320/My_Avatar_bigger.jpg">
  146. <em>Ricardo Gladwell ‏@rgladwell:</em> wow @getdocker is either amazing or totally stupid
  147. </section>
  148. </div>
  149. </div>
  150. </div>
  151. <!-- <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>
  152. <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>
  153. -->
  154. <div class="container">
  155. <div class="row">
  156. <div class="span6">
  157. <section class="contentblock">
  158. <!-- <img src="_static/lego_docker.jpg" width="600px" style="float:right; margin-left: 10px"> -->
  159. <h2>Notable features</h2>
  160. <ul>
  161. <li>Filesystem isolation: each process container runs in a completely separate root filesystem.</li>
  162. <li>Resource isolation: system resources like cpu and memory can be allocated differently to each process container, using cgroups.</li>
  163. <li>Network isolation: each process container runs in its own network namespace, with a virtual interface and IP address of its own.</li>
  164. <li>Copy-on-write: root filesystems are created using copy-on-write, which makes deployment extremeley fast, memory-cheap and disk-cheap.</li>
  165. <li>Logging: the standard streams (stdout/stderr/stdin) of each process container is collected and logged for real-time or batch retrieval.</li>
  166. <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>
  167. <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>
  168. </ul>
  169. <h2>Under the hood</h2>
  170. <p>Under the hood, Docker is built on the following components:</p>
  171. <ul>
  172. <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>
  173. <li><a href="http://aufs.sourceforge.net/aufs.html">AUFS</a>, a powerful union filesystem with copy-on-write capabilities;</li>
  174. <li>The <a href="http://golang.org">Go</a> programming language;</li>
  175. <li><a href="http://lxc.sourceforge.net/">lxc</a>, a set of convenience scripts to simplify the creation of linux containers.</li>
  176. </ul>
  177. </section>
  178. </div>
  179. <div class="span6">
  180. <section class="contentblock">
  181. <div id="wufoo-z7x3p3">
  182. Fill out my <a href="http://dotclouddocker.wufoo.com/forms/z7x3p3">online form</a>.
  183. </div>
  184. <script type="text/javascript">var z7x3p3;(function(d, t) {
  185. var s = d.createElement(t), options = {
  186. 'userName':'dotclouddocker',
  187. 'formHash':'z7x3p3',
  188. 'autoResize':true,
  189. 'height':'577',
  190. 'async':true,
  191. 'header':'show'};
  192. s.src = ('https:' == d.location.protocol ? 'https://' : 'http://') + 'wufoo.com/scripts/embed/form.js';
  193. s.onload = s.onreadystatechange = function() {
  194. var rs = this.readyState; if (rs) if (rs != 'complete') if (rs != 'loaded') return;
  195. try { z7x3p3 = new WufooForm();z7x3p3.initialize(options);z7x3p3.display(); } catch (e) {}};
  196. var scr = d.getElementsByTagName(t)[0], par = scr.parentNode; par.insertBefore(s, scr);
  197. })(document, 'script');</script>
  198. </section>
  199. <section class="contentblock">
  200. <h3 id="twitter">Twitter</h3>
  201. <a class="twitter-timeline" href="https://twitter.com/getdocker" data-widget-id="312730839718957056">Tweets by @getdocker</a>
  202. <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>
  203. </section>
  204. </div>
  205. </div>
  206. </div> <!-- end container -->
  207. <div class="container">
  208. <footer id="footer" class="footer">
  209. <div class="row">
  210. <div class="span12">
  211. Docker is a project by <a href="http://www.dotcloud.com">dotCloud</a>
  212. </div>
  213. </div>
  214. <div class="row">
  215. <div class="emptyspace" style="height: 40px">
  216. </div>
  217. </div>
  218. </footer>
  219. </div>
  220. <!-- bootstrap javascipts -->
  221. <script src="_static/js/vendor/bootstrap.min.js" type="text/javascript"></script>
  222. <!-- Google analytics -->
  223. <script type="text/javascript">
  224. var _gaq = _gaq || [];
  225. _gaq.push(['_setAccount', 'UA-6096819-11']);
  226. _gaq.push(['_setDomainName', 'docker.io']);
  227. _gaq.push(['_setAllowLinker', true]);
  228. _gaq.push(['_trackPageview']);
  229. (function() {
  230. var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
  231. ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
  232. var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  233. })();
  234. </script>
  235. </body>
  236. </html>