<!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">
    <meta name="google-site-verification" content="UxV66EKuPe87dgnH1sbrldrx6VsoWMrx5NjwkgUFxXI" />
    <title>Docker - the Linux container engine</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>

    <style>
        .indexlabel {
            float: left;
            width: 150px;
            display: block;
            padding: 10px 20px 10px;
            font-size: 20px;
            font-weight: 200;
            background-color: #a30000;
            color: white;
            height: 22px;
        }
        .searchbutton {
            font-size: 20px;
            height: 40px;
        }

        .debug {
            border: 1px red dotted;
        }
        .twitterblock {
            min-height: 75px;
        }

        .twitterblock img {
            float: left;
            margin-right: 10px;
        }

    </style>


</head>


<body>

<div class="navbar navbar-fixed-top">
    <div class="navbar-dotcloud">
        <div class="container" style="text-align: center;">


            <div class="pull-left" id="fork-us" style="margin-top: 16px;">
                <a  href="http://github.com/dotcloud/docker/"><img src="static/img/fork-us.png" alt="fork-icon"> Fork us on Github</a>
            </div>

            <div class="pull-right" >
                <ul class="nav">
                    <li id="nav-introduction" class="active"><a href="/">Introduction</a></li>
                    <li id="nav-gettingstarted"><a href="gettingstarted">Getting started</a></li>
                    <li id="nav-documentation" class=""><a href="http://docs.docker.io/en/latest/">Documentation</a></li>
                    <li id="nav-blog"><a href="http://blog.docker.io/">Blog</a></li>
                </ul>
            </div>
        </div>
    </div>
</div>


<div class="container" style="margin-top: 30px;">
    <div class="row">

        <div class="span12">
            <section class="contentblock header">

                <div class="span5" style="margin-bottom: 15px;">
                    <div style="text-align: center;" >
                        <img src="static/img/docker_letters_500px.png" alt="docker letters">

                        <h2>The Linux container engine</h2>
                    </div>

                    <div style="display: block; text-align: center; margin-top: 20px;">

                        <h5>
                            Docker is an open-source engine which automates the deployment of applications as highly portable, self-sufficient containers which are independent of hardware, language, framework, packaging system and hosting provider.
                        </h5>

                    </div>


                    <div style="display: block; text-align: center; margin-top: 30px;">
                        <a class="btn btn-custom btn-large" href="gettingstarted/">Let's get started</a>
                    </div>

                </div>

                <div class="span6" >
                    <div class="js-video" >
                        <iframe width="600" height="360" src="http://www.youtube.com/embed/wW9CAH9nSLs?feature=player_detailpage&rel=0&modestbranding=1&start=11" frameborder="0" allowfullscreen></iframe>
                    </div>
                </div>

                <br style="clear: both"/>
            </section>
        </div>
    </div>
</div>

<div class="container">
    <div class="row">

        <div class="span6">
            <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>
                <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>
                <h4>Isolation</h4>
                <p>Docker isolates processes from each other and from the underlying host, using lightweight containers.</p>
                <h4>Repeatability</h4>
                <p>Because each container is isolated in its own filesystem, they behave the same regardless of where, when, and alongside what they run.</p>
            </section>
            <section class="contentblock">
                <div class="container">
                <div class="span2" style="margin-left: 0" >
                    <a href="http://dotcloud.theresumator.com/apply/mWjkD4/Software-Engineer.html" title="Job description"><img src="static/img/hiring_graphic.png" alt="we're hiring" width="140" style="margin-top: 25px"></a>
                </div>
                <div class="span4" style="margin-left: 0">
                    <h4>Do you think it is cool to hack on docker? Join us!</h4>
                    <ul>
                        <li>Work on open source</li>
                        <li>Program in Go</li>
                    </ul>
                    <a href="http://dotcloud.theresumator.com/apply/mWjkD4/Software-Engineer.html" title="Job description">read more</a>
                </div>
                </div>

            </section>
        </div>
        <div class="span6">
            <section class="contentblock">
                <h1>New! Docker Index</h1>
                On the Docker Index you can find and explore pre-made container images. It allows you to share your images and download them.

                <br><br>
                <a href="https://index.docker.io" target="_blank">
                    <div class="indexlabel">
                        DOCKER index
                    </div>
                </a>
                &nbsp;
                <input type="button" class="searchbutton" value="Search images"
                       onClick="window.open('https://index.docker.io')" />

            </section>
            <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>
        </div>
    </div>

</div>

<div class="container">

    <div class="row">
        <div class="span6">
            <section class="contentblock twitterblock">
                <img src="https://si0.twimg.com/profile_images/2707460527/252a64411a339184ff375a96fb68dcb0_bigger.png">
                <em>Mitchell Hashimoto ‏@mitchellh:</em> Docker launched today. It is incredible. They’re also working RIGHT NOW on a Vagrant provider. LXC is COMING!!
            </section>
        </div>
        <div class="span6">
            <section class="contentblock twitterblock">
                <img src="https://si0.twimg.com/profile_images/1108290260/Adam_Jacob-114x150_original_bigger.jpg">
                <em>Adam Jacob ‏@adamhjk:</em> Docker is clearly the right idea. @solomonstre absolutely killed it. Containerized app deployment is the future, I think.
            </section>
        </div>
    </div>
    <div class="row">
        <div class="span6">
            <section class="contentblock twitterblock">
                <img src="https://si0.twimg.com/profile_images/14872832/twitter_pic_bigger.jpg">
                <em>Matt Townsend ‏@mtownsend:</em> I have a serious code crush on docker.io - it's Lego for PaaS. Motherfucking awesome Lego.
            </section>
        </div>
        <div class="span6">
            <section class="contentblock twitterblock">
                <img src="https://si0.twimg.com/profile_images/1312352395/rupert-259x300_bigger.jpg">
                <em>Rob Harrop ‏@robertharrop:</em> Impressed by @getdocker - it's all kinds of magic. Serious rethink of AWS architecture happening @skillsmatter.
            </section>
        </div>
    </div>
    <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>

<div class="container">
    <div class="row">
        <div class="span6">

            <section class="contentblock">

                <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 extremely 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>

                <h2>Who started it</h2>
                <p>
                    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.</p>

                <p>It benefits directly from the experience accumulated over several years of large-scale operation and support of hundreds of thousands
                    of applications and databases.
                </p>

            </section>
        </div>

        <div class="span6">


            <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">
                <div class="tbox textright forceleftmargin social links pull-right">
                    <a class="twitter" href="http://twitter.com/getdocker">Twitter</a>
                    <a class="github" href="https://github.com/dotcloud/docker/">GitHub</a>
                </div>
                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>