mirror of https://github.com/docker/docs.git
2521 lines
89 KiB
HTML
2521 lines
89 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<title>Remote API </title>
|
|
<link rel="shortcut icon" href="/images/favicon.png" type="image/x-icon">
|
|
<link rel="stylesheet" href="/dist/assets/css/bootstrap-custom.css" />
|
|
<link rel="stylesheet" href="/dist/assets/css/app.css" />
|
|
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/animate.css/3.2.6/animate.min.css">
|
|
<link rel="stylesheet" href="/css/custom.css">
|
|
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
|
|
<script href="/dist/assets/js/modernizr.js"></script>
|
|
</head>
|
|
<body>
|
|
<div class="off-canvas-wrap" data-offcanvas>
|
|
<div class="inner-wrap">
|
|
|
|
<a class="left-off-canvas-toggle" href="#" >
|
|
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="35px" height="35px" viewBox="0 0 35 35" enable-background="new 0 0 35 35" xml:space="preserve">
|
|
<path fill="#3597D4" d="M30.583,9.328c0,0.752-0.539,1.362-1.203,1.362H5.113c-0.664,0-1.203-0.61-1.203-1.362l0,0
|
|
c0-0.752,0.539-1.362,1.203-1.362H29.38C30.045,7.966,30.583,8.576,30.583,9.328L30.583,9.328z"/>
|
|
<path fill="#3597D4" d="M30.583,17.09c0,0.752-0.539,1.362-1.203,1.362H5.113c-0.664,0-1.203-0.61-1.203-1.362l0,0
|
|
c0-0.752,0.539-1.362,1.203-1.362H29.38C30.045,15.728,30.583,16.338,30.583,17.09L30.583,17.09z"/>
|
|
<path fill="#3597D4" d="M30.583,24.387c0,0.752-0.539,1.362-1.203,1.362H5.113c-0.664,0-1.203-0.61-1.203-1.362l0,0
|
|
c0-0.752,0.539-1.362,1.203-1.362H29.38C30.045,23.025,30.583,23.635,30.583,24.387L30.583,24.387z"/>
|
|
</svg>
|
|
</a>
|
|
<a class="button secondary small get-started-cta">Get Started</a>
|
|
<header class="main-header">
|
|
<div class="row">
|
|
<div class="large-3 columns">
|
|
<a href="/"><img class="logo" src="/dist/assets/images/logo.png"></a>
|
|
</div>
|
|
<div class="large-9 columns">
|
|
<ul class="nav-global">
|
|
<li><a href="https://www.docker.com/support">Support</a></li>
|
|
<li><a href="https://training.docker.com/">Training</a></li>
|
|
<li><a href="/">Docs</a></li>
|
|
<li><a href="http://blog.docker.com/">Blog</a></li>
|
|
<li><a href="https://hub.docker.com/account/signup/">Docker Hub</a></li>
|
|
<li><a class="button" href="/mac/started/">Get Started</a></li>
|
|
</ul>
|
|
<ul class="nav-main">
|
|
<li><a href="https://www.docker.com/products">Products</a>
|
|
<ul>
|
|
<li><a href="https://www.docker.com/pricing">Pricing</a></li>
|
|
<li><a href="https://www.docker.com/whatisdocker">What is Docker?</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="https://www.docker.com/customers">Customers</a></li>
|
|
<li><a href="https://www.docker.com/community">Community</a>
|
|
<ul>
|
|
<li><a href="https://www.docker.com/community/meetups">Meetups</a></li>
|
|
<li><a href="https://www.docker.com/community/events">Events</a></li>
|
|
<li><a href="https://forums.docker.com">Forums</a></li>
|
|
<li><a href="http://www.scoop.it/t/docker-by-docker">Community News</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="https://www.docker.com/partners">Partners</a>
|
|
<ul>
|
|
<li><a href="https://www.docker.com/partners/partner-programs">Partner Programs</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="https://www.docker.com/company">Company</a>
|
|
<ul>
|
|
<li><a href="https://www.docker.com/news-and-press">News & Press</a></li>
|
|
<li><a href="https://www.docker.com/work-docker">Work at Docker</a></li>
|
|
<li><a href="https://www.docker.com/company/management">Management</a></li>
|
|
<li><a href="https://www.docker.com/company/contact">Contact</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="https://www.docker.com/open-source">Open Source</a>
|
|
<ul>
|
|
<li><a href="https://www.docker.com/contribute">Contribute</a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</header>
|
|
|
|
|
|
<aside class="left-off-canvas-menu">
|
|
<ul class="off-canvas-list">
|
|
<li class="has-submenu"><a href="#">Products</a>
|
|
<ul class="left-submenu">
|
|
<li class="back"><a href="#">Back</a></li>
|
|
<li><a href="#">Pricing</a></li>
|
|
<li><a href="#">What Is Docker</a></li>
|
|
<li><a href="#">Products</a></li>
|
|
<li><a href="#">Docker Engine</a></li>
|
|
<li><a href="#">Docker Hub</a></li>
|
|
<li><a href="#">Docker Registry</a></li>
|
|
<li><a href="#">Docker Machine</a></li>
|
|
<li><a href="#">Docker Swarm</a></li>
|
|
<li><a href="#">Docker Compose</a></li>
|
|
<li><a href="#">Kitematic</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#">Customers</a></li>
|
|
<li class="has-submenu"><a href="#">Community</a>
|
|
<ul class="left-submenu">
|
|
<li class="back"><a href="#">Back</a></li>
|
|
<li><a href="#">Community</a></li>
|
|
<li><a href="#">Meetups</a></li>
|
|
<li><a href="https://www.docker.com/community/events">Events</a></li>
|
|
<li><a href="#">Forum</a></li>
|
|
<li><a href="#">Scoop.it</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="has-submenu"><a href="#">Partners</a>
|
|
<ul class="left-submenu">
|
|
<li class="back"><a href="#">Back</a></li>
|
|
<li><a href="#">Partners</a></li>
|
|
<li><a href="https://www.docker.com/partners/partner-programs">Partners Programs</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#">Company</a></li>
|
|
<li class="has-submenu"><a href="#">Open Source</a>
|
|
<ul class="left-submenu">
|
|
<li class="back"><a href="#">Back</a></li>
|
|
<li><a href="#">Open Source</a></li>
|
|
<li><a href="#">Contribute</a></li>
|
|
<li><a href="#">Governance</a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
<ul class="nav-global-off-canvas">
|
|
<li><a href="#">Support</a></li>
|
|
<li><a href="#">Training</a></li>
|
|
<li><a href="#">Docs</a></li>
|
|
<li><a href="#">Blog</a></li>
|
|
<li><a href="#">Sign in</a></li>
|
|
<li><a href="#">Sign up</a></li>
|
|
</ul>
|
|
</aside>
|
|
|
|
<a class="exit-off-canvas"></a>
|
|
<div id="docs" class="row">
|
|
<div class="large-3 columns">
|
|
<section id="multiple" data-accordion-group>
|
|
|
|
|
|
<section data-accordion>
|
|
|
|
<article data-accordion>
|
|
<button data-control> Install</button>
|
|
<div data-content>
|
|
|
|
|
|
<article data-accordion>
|
|
<button data-control> Docker Engine</button>
|
|
<div data-content>
|
|
|
|
|
|
<a data-link href="/docker/installation/mac/" class=""> Installation on Mac OS X</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/installation/windows/" class=""> Installation on Windows</a>
|
|
|
|
|
|
|
|
|
|
<article data-accordion>
|
|
<button data-control> Linux</button>
|
|
<div data-content>
|
|
|
|
<a data-link href="/docker/installation/archlinux/" class=""> Installation on Arch Linux</a>
|
|
|
|
<a data-link href="/docker/installation/cruxlinux/" class=""> Installation on CRUX Linux</a>
|
|
|
|
<a data-link href="/docker/installation/centos/" class=""> Installation on CentOS</a>
|
|
|
|
<a data-link href="/docker/installation/debian/" class=""> Installation on Debian</a>
|
|
|
|
<a data-link href="/docker/installation/fedora/" class=""> Installation on Fedora</a>
|
|
|
|
<a data-link href="/docker/installation/frugalware/" class=""> Installation on FrugalWare</a>
|
|
|
|
<a data-link href="/docker/installation/gentoolinux/" class=""> Installation on Gentoo</a>
|
|
|
|
<a data-link href="/docker/installation/oracle/" class=""> Installation on Oracle Linux</a>
|
|
|
|
<a data-link href="/docker/installation/rhel/" class=""> Installation on Red Hat Enterprise Linux</a>
|
|
|
|
<a data-link href="/docker/installation/ubuntulinux/" class=""> Installation on Ubuntu </a>
|
|
|
|
<a data-link href="/docker/installation/SUSE/" class=""> Installation on openSUSE and SUSE Linux Enterprise</a>
|
|
|
|
</div>
|
|
</article>
|
|
|
|
|
|
|
|
|
|
<article data-accordion>
|
|
<button data-control> Cloud</button>
|
|
<div data-content>
|
|
|
|
<a data-link href="/docker/installation/amazon/" class=""> Amazon EC2 Installation</a>
|
|
|
|
<a data-link href="/docker/installation/joyent/" class=""> Install on Joyent Public Cloud</a>
|
|
|
|
<a data-link href="/docker/installation/google/" class=""> Installation on Google Cloud Platform</a>
|
|
|
|
<a data-link href="/docker/installation/softlayer/" class=""> Installation on IBM SoftLayer </a>
|
|
|
|
<a data-link href="/docker/installation/azure/" class=""> Installation on Microsoft Azure platform</a>
|
|
|
|
<a data-link href="/docker/installation/rackspace/" class=""> Installation on Rackspace Cloud</a>
|
|
|
|
</div>
|
|
</article>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/installation/binaries/" class=""> Installation from binaries</a>
|
|
|
|
|
|
|
|
</div>
|
|
</article>
|
|
|
|
|
|
|
|
<a data-link href="/kitematic/" class=""> Kitematic</a>
|
|
|
|
|
|
|
|
<a data-link href="/machine/install-machine/" class=""> Docker Machine</a>
|
|
|
|
|
|
|
|
<a data-link href="/compose/install/" class=""> Docker Compose</a>
|
|
|
|
|
|
|
|
<a data-link href="/swarm/install-w-machine/" class=""> Docker Swarm</a>
|
|
|
|
|
|
</div>
|
|
</article>
|
|
|
|
</section>
|
|
|
|
<section data-accordion>
|
|
|
|
<article data-accordion>
|
|
<button data-control> Docker Fundamentals</button>
|
|
<div data-content>
|
|
|
|
|
|
<a data-link href="/docker/userguide/" class=""> The Docker user guide</a>
|
|
|
|
|
|
|
|
<article data-accordion>
|
|
<button data-control> Work with Docker Images</button>
|
|
<div data-content>
|
|
|
|
|
|
<a data-link href="/articles/dockerfile_best-practices/" class=""> Best practices for writing Dockerfiles</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/articles/baseimages/" class=""> Create a base image</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/userguide/dockerimages/" class=""> Get started with images</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/userguide/dockerrepos/" class=""> Get started with Docker Hub</a>
|
|
|
|
|
|
|
|
</div>
|
|
</article>
|
|
|
|
|
|
|
|
<article data-accordion>
|
|
<button data-control> Work with Docker Containers</button>
|
|
<div data-content>
|
|
|
|
|
|
<a data-link href="/articles/basics/" class=""> Get started with containers</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/userguide/usingdocker/" class=""> Working with containers</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/userguide/dockervolumes/" class=""> Managing data in containers</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/userguide/dockerlinks/" class=""> Linking containers together</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/articles/host_integration/" class=""> Automatically start containers</a>
|
|
|
|
|
|
|
|
</div>
|
|
</article>
|
|
|
|
|
|
|
|
<article data-accordion>
|
|
<button data-control> Docker on Windows & OSX</button>
|
|
<div data-content>
|
|
|
|
|
|
<a data-link href="/articles/dsc/" class=""> PowerShell DSC Usage</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/articles/b2d_volume_resize/" class=""> Resizing a Boot2Docker volume </a>
|
|
|
|
|
|
|
|
</div>
|
|
</article>
|
|
|
|
|
|
|
|
<article data-accordion>
|
|
<button data-control> Use the Kitematic GUI</button>
|
|
<div data-content>
|
|
|
|
|
|
<a data-link href="/kitematic/userguide/" class=""> Kitematic User Guide: Intro & Overview</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/kitematic/nginx-web-server/" class=""> Set up an Nginx web server</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/kitematic/minecraft-server/" class=""> Set up a Minecraft Server</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/kitematic/rethinkdb-dev-database/" class=""> Creating a Local RethinkDB Database for Development</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/kitematic/faq/" class=""> Frequently Asked Questions</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/kitematic/known-issues/" class=""> Known Issues</a>
|
|
|
|
|
|
|
|
</div>
|
|
</article>
|
|
|
|
|
|
</div>
|
|
</article>
|
|
|
|
</section>
|
|
|
|
<section data-accordion>
|
|
|
|
<article data-accordion>
|
|
<button data-control> Use Docker</button>
|
|
<div data-content>
|
|
|
|
|
|
<a data-link href="/docker/misc/" class=""> About Docker</a>
|
|
|
|
|
|
|
|
<a data-link href="/docker/userguide/labels-custom-metadata/" class=""> Apply custom metadata</a>
|
|
|
|
|
|
|
|
<a data-link href="/docker/introduction/understanding-docker/" class=""> Understand the architecture</a>
|
|
|
|
|
|
|
|
<article data-accordion>
|
|
<button data-control> Provision & set up Docker hosts</button>
|
|
<div data-content>
|
|
|
|
|
|
<a data-link href="/machine/" class=""> Overview of Docker Machine</a>
|
|
|
|
|
|
|
|
</div>
|
|
</article>
|
|
|
|
|
|
|
|
<article data-accordion>
|
|
<button data-control> Create multi-container applications</button>
|
|
<div data-content>
|
|
|
|
|
|
<a data-link href="/compose/" class=""> Overview of Docker Compose</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/compose/production/" class=""> Using Compose in production</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/compose/extends/" class=""> Extending services in Compose</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/compose/completion/" class=""> Command Completion</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/compose/django/" class=""> Quickstart Guide: Compose and Django</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/compose/rails/" class=""> Quickstart Guide: Compose and Rails</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/compose/wordpress/" class=""> Quickstart Guide: Compose and Wordpress</a>
|
|
|
|
|
|
|
|
</div>
|
|
</article>
|
|
|
|
|
|
|
|
<article data-accordion>
|
|
<button data-control> Cluster Docker containers</button>
|
|
<div data-content>
|
|
|
|
|
|
<a data-link href="/swarm/" class=""> Docker Swarm</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/swarm/install-manual/" class=""> Create a swarm for development</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/swarm/discovery/" class=""> Docker Swarm discovery</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/swarm/scheduler/filter/" class=""> Docker Swarm filters</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/swarm/scheduler/strategy/" class=""> Docker Swarm strategies</a>
|
|
|
|
|
|
|
|
</div>
|
|
</article>
|
|
|
|
|
|
|
|
<article data-accordion>
|
|
<button data-control> Adminstrate Docker</button>
|
|
<div data-content>
|
|
|
|
|
|
<a data-link href="/articles/networking/" class=""> Network configuration</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/articles/security/" class=""> Docker security</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/articles/configuring/" class=""> Configuring and running Docker</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/articles/runmetrics/" class=""> Runtime metrics</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/articles/https/" class=""> Protect the Docker daemon socket</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/articles/ambassador_pattern_linking/" class=""> Link via an ambassador container</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/articles/systemd/" class=""> Control and configure Docker with systemd</a>
|
|
|
|
|
|
|
|
|
|
<article data-accordion>
|
|
<button data-control> Applications and Services</button>
|
|
<div data-content>
|
|
|
|
<a data-link href="/docker/examples/running_riak_service/" class=""> Dockerizing a Riak service</a>
|
|
|
|
<a data-link href="/docker/examples/running_ssh_service/" class=""> Dockerizing an SSH service</a>
|
|
|
|
</div>
|
|
</article>
|
|
|
|
|
|
|
|
|
|
<article data-accordion>
|
|
<button data-control> Integrate with Third-party Tools</button>
|
|
<div data-content>
|
|
|
|
<a data-link href="/articles/cfengine_process_management/" class=""> Process management with CFEngine</a>
|
|
|
|
<a data-link href="/articles/chef/" class=""> Using Chef</a>
|
|
|
|
<a data-link href="/articles/puppet/" class=""> Using Puppet</a>
|
|
|
|
<a data-link href="/articles/using_supervisord/" class=""> Using Supervisor with Docker</a>
|
|
|
|
</div>
|
|
</article>
|
|
|
|
|
|
|
|
</div>
|
|
</article>
|
|
|
|
|
|
|
|
<article data-accordion>
|
|
<button data-control> Applied Docker</button>
|
|
<div data-content>
|
|
|
|
|
|
<a data-link href="/docker/examples/mongodb/" class=""> Dockerizing MongoDB</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/examples/postgresql_service/" class=""> Dockerizing PostgreSQL</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/examples/couchdb_data_volumes/" class=""> Dockerizing a CouchDB service</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/examples/nodejs_web_app/" class=""> Dockerizing a Node.js web app</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/examples/running_redis_service/" class=""> Dockerizing a Redis service</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/examples/apt-cacher-ng/" class=""> Dockerizing an apt-cacher-ng service</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/userguide/dockerizing/" class=""> Dockerizing applications: A 'Hello world'</a>
|
|
|
|
|
|
|
|
</div>
|
|
</article>
|
|
|
|
|
|
</div>
|
|
</article>
|
|
|
|
</section>
|
|
|
|
<section data-accordion>
|
|
|
|
<article data-accordion>
|
|
<button data-control> Manage image repositories</button>
|
|
<div data-content>
|
|
|
|
|
|
<article data-accordion>
|
|
<button data-control> The Public Hub</button>
|
|
<div data-content>
|
|
|
|
|
|
<a data-link href="/docker/docker-hub/userguide/" class=""> Docker Hub user guide</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/docker-hub/" class=""> The Docker Hub</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/docker-hub/accounts/" class=""> Accounts on Docker Hub</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/userguide/dockerhub/" class=""> Getting started with Docker Hub</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/docker-hub/repos/" class=""> Your Repositories on Docker Hub</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/docker-hub/builds/" class=""> Automated Builds on Docker Hub</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/docker-hub/official_repos/" class=""> Official Repositories on Docker Hub</a>
|
|
|
|
|
|
|
|
</div>
|
|
</article>
|
|
|
|
|
|
|
|
<article data-accordion>
|
|
<button data-control> Docker Trusted Registry</button>
|
|
<div data-content>
|
|
|
|
|
|
<a data-link href="/docker-trusted-registry/" class=""> Overview</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker-trusted-registry/quick-start/" class=""> Quick-start: Basic Workflow</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker-trusted-registry/userguide/" class=""> User guide</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker-trusted-registry/adminguide/" class=""> Admin guide</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker-trusted-registry/install/" class=""> Installation</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker-trusted-registry/configuration/" class=""> Configuration options</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker-trusted-registry/support/" class=""> Support</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker-trusted-registry/release-notes/" class=""> Release notes</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker-trusted-registry/prior-release-notes/" class=""> Prior release notes archive</a>
|
|
|
|
|
|
|
|
</div>
|
|
</article>
|
|
|
|
|
|
|
|
<article data-accordion>
|
|
<button data-control> Docker Registry</button>
|
|
<div data-content>
|
|
|
|
|
|
<a data-link href="/registry/" class=""> Docker Registry 2.0</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/registry/introduction/" class=""> Understanding the Registry</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/registry/deploying/" class=""> Deploying a registry server</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/registry/configuration/" class=""> Configure a Registry</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/registry/notifications/" class=""> Work with Notifications</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/registry/authentication/" class=""> Authentication for the Registry</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/registry/help/" class=""> Getting help</a>
|
|
|
|
|
|
|
|
</div>
|
|
</article>
|
|
|
|
|
|
|
|
<a data-link href="/articles/certificates/" class=""> Using certificates for repository client verification</a>
|
|
|
|
|
|
|
|
<a data-link href="/articles/registry_mirror/" class=""> Run a local registry mirror</a>
|
|
|
|
|
|
</div>
|
|
</article>
|
|
|
|
</section>
|
|
|
|
<section data-accordion>
|
|
|
|
<article data-accordion>
|
|
<button data-control> Command and API references</button>
|
|
<div data-content>
|
|
|
|
|
|
<article data-accordion>
|
|
<button data-control> Command line reference</button>
|
|
<div data-content>
|
|
|
|
|
|
<a data-link href="/docker/reference/commandline/cli/" class=""> Using the command line</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/reference/commandline/daemon/" class=""> daemon</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/reference/commandline/attach/" class=""> attach</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/reference/commandline/build/" class=""> build</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/reference/commandline/commit/" class=""> commit</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/reference/commandline/cp/" class=""> cp</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/reference/commandline/create/" class=""> create</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/reference/commandline/diff/" class=""> diff</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/reference/commandline/events/" class=""> events</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/reference/commandline/exec/" class=""> exec</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/reference/commandline/export/" class=""> export</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/reference/commandline/history/" class=""> history</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/reference/commandline/images/" class=""> images</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/reference/commandline/import/" class=""> import</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/reference/commandline/info/" class=""> info</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/reference/commandline/inspect/" class=""> inspect</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/reference/commandline/kill/" class=""> kill</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/reference/commandline/load/" class=""> load</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/reference/commandline/login/" class=""> login</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/reference/commandline/logout/" class=""> logout</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/reference/commandline/logs/" class=""> logs</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/reference/commandline/pause/" class=""> pause</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/reference/commandline/port/" class=""> port</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/reference/commandline/ps/" class=""> ps</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/reference/commandline/pull/" class=""> pull</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/reference/commandline/push/" class=""> push</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/reference/commandline/rename/" class=""> rename</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/reference/commandline/restart/" class=""> restart</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/reference/commandline/rm/" class=""> rm</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/reference/commandline/rmi/" class=""> rmi</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/reference/commandline/run/" class=""> run</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/reference/commandline/save/" class=""> save</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/reference/commandline/search/" class=""> search</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/reference/commandline/start/" class=""> start</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/reference/commandline/stats/" class=""> stats</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/reference/commandline/stop/" class=""> stop</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/reference/commandline/tag/" class=""> tag</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/reference/commandline/top/" class=""> top</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/reference/commandline/unpause/" class=""> unpause</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/reference/commandline/version/" class=""> version</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/reference/commandline/wait/" class=""> wait</a>
|
|
|
|
|
|
|
|
</div>
|
|
</article>
|
|
|
|
|
|
|
|
<a data-link href="/docker/reference/run/" class=""> Docker run reference</a>
|
|
|
|
|
|
|
|
<a data-link href="/docker/reference/builder/" class=""> Dockerfile reference</a>
|
|
|
|
|
|
|
|
<a data-link href="/docker/reference/api/remote_api_client_libraries/" class=""> Remote API client libraries</a>
|
|
|
|
|
|
|
|
<a data-link href="/docker/reference/api/docker_io_accounts_api/" class=""> docker.io accounts API</a>
|
|
|
|
|
|
|
|
<article data-accordion>
|
|
<button data-control> Docker Remote API</button>
|
|
<div data-content>
|
|
|
|
|
|
<a data-link href="/docker/reference/api/docker-io_api/" class=""> Docker Hub API</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/reference/api/docker_remote_api/" class=""> Remote API</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/reference/api/docker_remote_api_v1.19/" class=""> Remote API v1.19</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/reference/api/docker_remote_api_v1.18/" class=""> Remote API v1.18</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/reference/api/docker_remote_api_v1.17/" class=""> Remote API v1.17</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/reference/api/docker_remote_api_v1.16/" class=""> Remote API v1.16</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/reference/api/docker_remote_api_v1.15/" class=""> Remote API v1.15</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/reference/api/docker_remote_api_v1.14/" class=""> Remote API v1.14</a>
|
|
|
|
|
|
|
|
</div>
|
|
</article>
|
|
|
|
|
|
|
|
<article data-accordion>
|
|
<button data-control> Docker Hub</button>
|
|
<div data-content>
|
|
|
|
|
|
<a data-link href="/docker/reference/api/hub_registry_spec/" class=""> The Docker Hub and the Registry v1</a>
|
|
|
|
|
|
|
|
</div>
|
|
</article>
|
|
|
|
|
|
|
|
<article data-accordion>
|
|
<button data-control> Docker Compose Reference</button>
|
|
<div data-content>
|
|
|
|
|
|
<a data-link href="/compose/cli/" class=""> Compose CLI reference</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/compose/yml/" class=""> docker-compose.yml reference</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/compose/env/" class=""> Compose environment variables reference</a>
|
|
|
|
|
|
|
|
</div>
|
|
</article>
|
|
|
|
|
|
|
|
<a data-link href="" class=""> Docker Machine Reference</a>
|
|
|
|
|
|
|
|
<article data-accordion>
|
|
<button data-control> Docker Swarm Reference</button>
|
|
<div data-content>
|
|
|
|
|
|
<a data-link href="/swarm/api/swarm-api/" class=""> Docker Swarm API</a>
|
|
|
|
|
|
|
|
</div>
|
|
</article>
|
|
|
|
|
|
|
|
<article data-accordion>
|
|
<button data-control> Docker Registry Reference</button>
|
|
<div data-content>
|
|
|
|
|
|
<a data-link href="/registry/spec/api/" class=""> Docker Registry HTTP API V2</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/registry/storagedrivers/" class=""> Docker Registry Storage Driver</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/registry/spec/auth/token/" class=""> Docker Registry v2 Authentication</a>
|
|
|
|
|
|
|
|
</div>
|
|
</article>
|
|
|
|
|
|
</div>
|
|
</article>
|
|
|
|
</section>
|
|
|
|
<section data-accordion>
|
|
|
|
<article data-accordion>
|
|
<button data-control> Open Source at Docker</button>
|
|
<div data-content>
|
|
|
|
|
|
<a data-link href="/opensource/how-to-contribute/" class=""> Overview of contributing</a>
|
|
|
|
|
|
|
|
<a data-link href="/docker/project/get-help/" class=""> Where to chat or get help</a>
|
|
|
|
|
|
|
|
<article data-accordion>
|
|
<button data-control> Configure Development Environment</button>
|
|
<div data-content>
|
|
|
|
|
|
<a data-link href="/docker/project/who-written-for/" class=""> README first</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/project/software-required/" class=""> Get the required software</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/project/software-req-win/" class=""> Set up for development on Windows</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/project/set-up-git/" class=""> Configure Git for contributing</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/project/set-up-dev-env/" class=""> Work with a development container</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/project/test-and-docs/" class=""> Run tests and test documentation</a>
|
|
|
|
|
|
|
|
</div>
|
|
</article>
|
|
|
|
|
|
|
|
<article data-accordion>
|
|
<button data-control> Contribution Workflow</button>
|
|
<div data-content>
|
|
|
|
|
|
<a data-link href="/docker/project/make-a-contribution/" class=""> Understand how to contribute</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/project/find-an-issue/" class=""> Find and claim an issue</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/project/work-issue/" class=""> Work on your issue</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/project/create-pr/" class=""> Create a pull request (PR)</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/project/review-pr/" class=""> Participate in the PR review</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/project/advanced-contributing/" class=""> Advanced contributing</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/docker/project/coding-style/" class=""> Coding style checklist</a>
|
|
|
|
|
|
|
|
</div>
|
|
</article>
|
|
|
|
|
|
|
|
<a data-link href="/opensource/code/" class=""> Contribute code overview</a>
|
|
|
|
|
|
|
|
<a data-link href="/opensource/community/" class=""> Support the community</a>
|
|
|
|
|
|
|
|
<a data-link href="/opensource/issues/" class=""> Organize our issues</a>
|
|
|
|
|
|
|
|
<a data-link href="/opensource/meetups/" class=""> Organize a Docker Meetup</a>
|
|
|
|
|
|
|
|
<a data-link href="/opensource/test/" class=""> Testing contributions</a>
|
|
|
|
|
|
|
|
<article data-accordion>
|
|
<button data-control> Governance</button>
|
|
<div data-content>
|
|
|
|
|
|
<a data-link href="/opensource/governance/dgab-info/" class=""> Docker Governance Advisory Board</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/opensource/governance/board-profiles/" class=""> Board member profiles</a>
|
|
|
|
|
|
|
|
|
|
<a data-link href="/opensource/governance/conduct-code/" class=""> Code of conduct</a>
|
|
|
|
|
|
|
|
</div>
|
|
</article>
|
|
|
|
|
|
|
|
<a data-link href="/docker/project/doc-style/" class=""> Style guide for Docker documentation</a>
|
|
|
|
|
|
</div>
|
|
</article>
|
|
|
|
</section>
|
|
|
|
<section data-accordion>
|
|
|
|
<article data-accordion>
|
|
<button data-control> About</button>
|
|
<div data-content>
|
|
|
|
|
|
<a data-link href="/release-notes/" class=""> Docker Release Notes</a>
|
|
|
|
|
|
|
|
<a data-link href="/swarm/release-notes/" class=""> Docker Swarm Release Notes</a>
|
|
|
|
|
|
|
|
<a data-link href="/docker/misc/faq/" class=""> FAQ</a>
|
|
|
|
|
|
|
|
<a data-link href="/docker/reference/glossary/" class=""> Docker Glossary</a>
|
|
|
|
|
|
</div>
|
|
</article>
|
|
|
|
</section>
|
|
|
|
<section data-accordion>
|
|
|
|
<article data-accordion>
|
|
<button style="visibility: hidden" data-control> Get older docs</button>
|
|
<div data-content>
|
|
|
|
|
|
<a data-link href="https://docs.docker.com/v1.6/" class=""> Version 1.6</a>
|
|
|
|
|
|
|
|
<a data-link href="https://docs.docker.com/v1.5/" class=""> Version 1.5</a>
|
|
|
|
|
|
|
|
<a data-link href="https://docs.docker.com/v1.4/" class=""> Version 1.4</a>
|
|
|
|
|
|
</div>
|
|
</article>
|
|
|
|
</section>
|
|
|
|
</section>
|
|
|
|
<script>
|
|
$(document).ready(function () {
|
|
var $activeLink = $('#multiple [data-link].active');
|
|
var $accordions = $activeLink.parents('article[data-accordion]');
|
|
$($accordions.get().reverse()).each(function (index, accordion) {
|
|
var $accordion = $(accordion);
|
|
var $content = $accordion.find('[data-content]');
|
|
$accordion.addClass('open');
|
|
$content.css({'max-height': '100%'});
|
|
});
|
|
});
|
|
</script>
|
|
</div>
|
|
<div class="large-6 columns">
|
|
<section id="main">
|
|
<article id="content">
|
|
|
|
|
|
<h1 id="docker-remote-api">Docker Remote API</h1>
|
|
|
|
<ul>
|
|
<li>By default the Docker daemon listens on <code>unix:///var/run/docker.sock</code>
|
|
and the client must have <code>root</code> access to interact with the daemon.</li>
|
|
<li>If the Docker daemon is set to use an encrypted TCP socket (<code>--tls</code>,
|
|
or <code>--tlsverify</code>) as with Boot2Docker 1.3.0, then you need to add extra
|
|
parameters to <code>curl</code> or <code>wget</code> when making test API requests:
|
|
<code>curl --insecure --cert ~/.docker/cert.pem --key ~/.docker/key.pem https://boot2docker:2376/images/json</code>
|
|
or
|
|
<code>wget --no-check-certificate --certificate=$DOCKER_CERT_PATH/cert.pem --private-key=$DOCKER_CERT_PATH/key.pem https://boot2docker:2376/images/json -O - -q</code></li>
|
|
<li>If a group named <code>docker</code> exists on your system, docker will apply
|
|
ownership of the socket to the group.</li>
|
|
<li>The API tends to be REST, but for some complex commands, like attach
|
|
or pull, the HTTP connection is hijacked to transport STDOUT, STDIN,
|
|
and STDERR.</li>
|
|
<li>Since API version 1.2, the auth configuration is now handled client
|
|
side, so the client has to send the <code>authConfig</code> as a <code>POST</code> in <code>/images/(name)/push</code>.</li>
|
|
<li>authConfig, set as the <code>X-Registry-Auth</code> header, is currently a Base64
|
|
encoded (JSON) string with the following structure:
|
|
<code>{"username": "string", "password": "string", "email": "string",
|
|
"serveraddress" : "string", "auth": ""}</code>. Notice that <code>auth</code> is to be left
|
|
empty, <code>serveraddress</code> is a domain/ip without protocol, and that double
|
|
quotes (instead of single ones) are required.</li>
|
|
<li>The Remote API uses an open schema model. In this model, unknown
|
|
properties in incoming messages will be ignored.
|
|
Client applications need to take this into account to ensure
|
|
they will not break when talking to newer Docker daemons.</li>
|
|
</ul>
|
|
|
|
<p>The current version of the API is v1.19</p>
|
|
|
|
<p>Calling <code>/info</code> is the same as calling
|
|
<code>/v1.19/info</code>.</p>
|
|
|
|
<p>You can still call an old version of the API using
|
|
<code>/v1.18/info</code>.</p>
|
|
|
|
<h2 id="docker-events">Docker Events</h2>
|
|
|
|
<p>The following diagram depicts the container states accessible through the API.</p>
|
|
|
|
<p><img src="/docker/reference/api/images/event_state.png" alt="States" />
|
|
</p>
|
|
|
|
<p>Some container-related events are not affected by container state, so they are not included in this diagram. These events are:</p>
|
|
|
|
<ul>
|
|
<li><strong>export</strong> emitted by <code>docker export</code></li>
|
|
<li><strong>exec_create</strong> emitted by <code>docker exec</code></li>
|
|
<li><strong>exec_start</strong> emitted by <code>docker exec</code> after <strong>exec_create</strong></li>
|
|
</ul>
|
|
|
|
<p>Running <code>docker rmi</code> emits an <strong>untag</strong> event when removing an image name. The <code>rmi</code> command may also emit <strong>delete</strong> events when images are deleted by ID directly or by deleting the last tag referring to the image.</p>
|
|
|
|
<blockquote>
|
|
<p><strong>Acknowledgement</strong>: This diagram and the accompanying text were used with the permission of Matt Good and Gilder Labs. See Matt’s original blog post <a href="http://gliderlabs.com/blog/2015/04/14/docker-events-explained/">Docker Events Explained</a>.</p>
|
|
</blockquote>
|
|
|
|
<h2 id="v1-19">v1.19</h2>
|
|
|
|
<h3 id="full-documentation">Full documentation</h3>
|
|
|
|
<p><a href="/docker/reference/api/docker_remote_api_v1.19/"><em>Docker Remote API v1.19</em></a></p>
|
|
|
|
<h3 id="what-s-new">What’s new</h3>
|
|
|
|
<p><strong>New!</strong>
|
|
When the daemon detects a version mismatch with the client, usually when
|
|
the client is newer than the daemon, an HTTP 400 is now returned instead
|
|
of a 404.</p>
|
|
|
|
<p><code>GET /containers/(id)/stats</code></p>
|
|
|
|
<p><strong>New!</strong>
|
|
You can now supply a <code>stream</code> bool to get only one set of stats and
|
|
disconnect</p>
|
|
|
|
<p><code>GET /containers(id)/logs</code></p>
|
|
|
|
<p><strong>New!</strong></p>
|
|
|
|
<p>This endpoint now accepts a <code>since</code> timestamp parameter.</p>
|
|
|
|
<p><code>GET /info</code></p>
|
|
|
|
<p><strong>New!</strong></p>
|
|
|
|
<p>The fields <code>Debug</code>, <code>IPv4Forwarding</code>, <code>MemoryLimit</code>, and <code>SwapLimit</code>
|
|
are now returned as boolean instead of as an int.</p>
|
|
|
|
<p>In addition, the end point now returns the new boolean fields
|
|
<code>CpuCfsPeriod</code>, <code>CpuCfsQuota</code>, and <code>OomKillDisable</code>.</p>
|
|
|
|
<h2 id="v1-18">v1.18</h2>
|
|
|
|
<h3 id="full-documentation-1">Full documentation</h3>
|
|
|
|
<p><a href="/docker/reference/api/docker_remote_api_v1.18/"><em>Docker Remote API v1.18</em></a></p>
|
|
|
|
<h3 id="what-s-new-1">What’s new</h3>
|
|
|
|
<p><code>GET /version</code></p>
|
|
|
|
<p><strong>New!</strong>
|
|
This endpoint now returns <code>Os</code>, <code>Arch</code> and <code>KernelVersion</code>.</p>
|
|
|
|
<p><code>POST /containers/create</code>
|
|
<code>POST /containers/(id)/start</code></p>
|
|
|
|
<p><strong>New!</strong>
|
|
You can set ulimit settings to be used within the container.</p>
|
|
|
|
<p><code>GET /info</code></p>
|
|
|
|
<p><strong>New!</strong>
|
|
This endpoint now returns <code>SystemTime</code>, <code>HttpProxy</code>,<code>HttpsProxy</code> and <code>NoProxy</code>.</p>
|
|
|
|
<p><code>GET /images/json</code></p>
|
|
|
|
<p><strong>New!</strong>
|
|
Added a <code>RepoDigests</code> field to include image digest information.</p>
|
|
|
|
<p><code>POST /build</code></p>
|
|
|
|
<p><strong>New!</strong>
|
|
Builds can now set resource constraints for all containers created for the build.</p>
|
|
|
|
<p><strong>New!</strong>
|
|
(<code>CgroupParent</code>) can be passed in the host config to setup container cgroups under a specific cgroup.</p>
|
|
|
|
<p><code>POST /build</code></p>
|
|
|
|
<p><strong>New!</strong>
|
|
Closing the HTTP request will now cause the build to be canceled.</p>
|
|
|
|
<p><code>POST /containers/(id)/exec</code></p>
|
|
|
|
<p><strong>New!</strong>
|
|
Add <code>Warnings</code> field to response.</p>
|
|
|
|
<h2 id="v1-17">v1.17</h2>
|
|
|
|
<h3 id="full-documentation-2">Full documentation</h3>
|
|
|
|
<p><a href="/docker/reference/api/docker_remote_api_v1.17/"><em>Docker Remote API v1.17</em></a></p>
|
|
|
|
<h3 id="what-s-new-2">What’s new</h3>
|
|
|
|
<p>The build supports <code>LABEL</code> command. Use this to add metadata
|
|
to an image. For example you could add data describing the content of an image.</p>
|
|
|
|
<p><code>LABEL "com.example.vendor"="ACME Incorporated"</code></p>
|
|
|
|
<p><strong>New!</strong>
|
|
<code>POST /containers/(id)/attach</code> and <code>POST /exec/(id)/start</code></p>
|
|
|
|
<p><strong>New!</strong>
|
|
Docker client now hints potential proxies about connection hijacking using HTTP Upgrade headers.</p>
|
|
|
|
<p><code>POST /containers/create</code></p>
|
|
|
|
<p><strong>New!</strong>
|
|
You can set labels on container create describing the container.</p>
|
|
|
|
<p><code>GET /containers/json</code></p>
|
|
|
|
<p><strong>New!</strong>
|
|
The endpoint returns the labels associated with the containers (<code>Labels</code>).</p>
|
|
|
|
<p><code>GET /containers/(id)/json</code></p>
|
|
|
|
<p><strong>New!</strong>
|
|
This endpoint now returns the list current execs associated with the container (<code>ExecIDs</code>).
|
|
This endpoint now returns the container labels (<code>Config.Labels</code>).</p>
|
|
|
|
<p><code>POST /containers/(id)/rename</code></p>
|
|
|
|
<p><strong>New!</strong>
|
|
New endpoint to rename a container <code>id</code> to a new name.</p>
|
|
|
|
<p><code>POST /containers/create</code>
|
|
<code>POST /containers/(id)/start</code></p>
|
|
|
|
<p><strong>New!</strong>
|
|
(<code>ReadonlyRootfs</code>) can be passed in the host config to mount the container’s
|
|
root filesystem as read only.</p>
|
|
|
|
<p><code>GET /containers/(id)/stats</code></p>
|
|
|
|
<p><strong>New!</strong>
|
|
This endpoint returns a live stream of a container’s resource usage statistics.</p>
|
|
|
|
<p><code>GET /images/json</code></p>
|
|
|
|
<p><strong>New!</strong>
|
|
This endpoint now returns the labels associated with each image (<code>Labels</code>).</p>
|
|
|
|
<h2 id="v1-16">v1.16</h2>
|
|
|
|
<h3 id="full-documentation-3">Full documentation</h3>
|
|
|
|
<p><a href="/docker/reference/api/docker_remote_api_v1.16/"><em>Docker Remote API v1.16</em></a></p>
|
|
|
|
<h3 id="what-s-new-3">What’s new</h3>
|
|
|
|
<p><code>GET /info</code></p>
|
|
|
|
<p><strong>New!</strong>
|
|
<code>info</code> now returns the number of CPUs available on the machine (<code>NCPU</code>),
|
|
total memory available (<code>MemTotal</code>), a user-friendly name describing the running Docker daemon (<code>Name</code>), a unique ID identifying the daemon (<code>ID</code>), and
|
|
a list of daemon labels (<code>Labels</code>).</p>
|
|
|
|
<p><code>POST /containers/create</code></p>
|
|
|
|
<p><strong>New!</strong>
|
|
You can set the new container’s MAC address explicitly.</p>
|
|
|
|
<p><strong>New!</strong>
|
|
Volumes are now initialized when the container is created.</p>
|
|
|
|
<p><code>POST /containers/(id)/copy</code></p>
|
|
|
|
<p><strong>New!</strong>
|
|
You can now copy data which is contained in a volume.</p>
|
|
|
|
<h2 id="v1-15">v1.15</h2>
|
|
|
|
<h3 id="full-documentation-4">Full documentation</h3>
|
|
|
|
<p><a href="/docker/reference/api/docker_remote_api_v1.15/"><em>Docker Remote API v1.15</em></a></p>
|
|
|
|
<h3 id="what-s-new-4">What’s new</h3>
|
|
|
|
<p><code>POST /containers/create</code></p>
|
|
|
|
<p><strong>New!</strong>
|
|
It is now possible to set a container’s HostConfig when creating a container.
|
|
Previously this was only available when starting a container.</p>
|
|
|
|
<h2 id="v1-14">v1.14</h2>
|
|
|
|
<h3 id="full-documentation-5">Full documentation</h3>
|
|
|
|
<p><a href="/docker/reference/api/docker_remote_api_v1.14/"><em>Docker Remote API v1.14</em></a></p>
|
|
|
|
<h3 id="what-s-new-5">What’s new</h3>
|
|
|
|
<p><code>DELETE /containers/(id)</code></p>
|
|
|
|
<p><strong>New!</strong>
|
|
When using <code>force</code>, the container will be immediately killed with SIGKILL.</p>
|
|
|
|
<p><code>POST /containers/(id)/start</code></p>
|
|
|
|
<p><strong>New!</strong>
|
|
The <code>hostConfig</code> option now accepts the field <code>CapAdd</code>, which specifies a list of capabilities
|
|
to add, and the field <code>CapDrop</code>, which specifies a list of capabilities to drop.</p>
|
|
|
|
<p><code>POST /images/create</code></p>
|
|
|
|
<p><strong>New!</strong>
|
|
The <code>fromImage</code> and <code>repo</code> parameters now supports the <code>repo:tag</code> format.
|
|
Consequently, the <code>tag</code> parameter is now obsolete. Using the new format and
|
|
the <code>tag</code> parameter at the same time will return an error.</p>
|
|
|
|
<h2 id="v1-13">v1.13</h2>
|
|
|
|
<h3 id="full-documentation-6">Full documentation</h3>
|
|
|
|
<p><a href="/docker/reference/api/docker_remote_api_v1.13/"><em>Docker Remote API v1.13</em></a></p>
|
|
|
|
<h3 id="what-s-new-6">What’s new</h3>
|
|
|
|
<p><code>GET /containers/(name)/json</code></p>
|
|
|
|
<p><strong>New!</strong>
|
|
The <code>HostConfig.Links</code> field is now filled correctly</p>
|
|
|
|
<p><strong>New!</strong>
|
|
<code>Sockets</code> parameter added to the <code>/info</code> endpoint listing all the sockets the
|
|
daemon is configured to listen on.</p>
|
|
|
|
<p><code>POST /containers/(name)/start</code>
|
|
<code>POST /containers/(name)/stop</code></p>
|
|
|
|
<p><strong>New!</strong>
|
|
<code>start</code> and <code>stop</code> will now return 304 if the container’s status is not modified</p>
|
|
|
|
<p><code>POST /commit</code></p>
|
|
|
|
<p><strong>New!</strong>
|
|
Added a <code>pause</code> parameter (default <code>true</code>) to pause the container during commit</p>
|
|
|
|
<h2 id="v1-12">v1.12</h2>
|
|
|
|
<h3 id="full-documentation-7">Full documentation</h3>
|
|
|
|
<p><a href="/docker/reference/api/docker_remote_api_v1.12/"><em>Docker Remote API v1.12</em></a></p>
|
|
|
|
<h3 id="what-s-new-7">What’s new</h3>
|
|
|
|
<p><code>POST /build</code></p>
|
|
|
|
<p><strong>New!</strong>
|
|
Build now has support for the <code>forcerm</code> parameter to always remove containers</p>
|
|
|
|
<p><code>GET /containers/(name)/json</code>
|
|
<code>GET /images/(name)/json</code></p>
|
|
|
|
<p><strong>New!</strong>
|
|
All the JSON keys are now in CamelCase</p>
|
|
|
|
<p><strong>New!</strong>
|
|
Trusted builds are now Automated Builds - <code>is_trusted</code> is now <code>is_automated</code>.</p>
|
|
|
|
<p><strong>Removed Insert Endpoint</strong>
|
|
The <code>insert</code> endpoint has been removed.</p>
|
|
|
|
<h2 id="v1-11">v1.11</h2>
|
|
|
|
<h3 id="full-documentation-8">Full documentation</h3>
|
|
|
|
<p><a href="/docker/reference/api/docker_remote_api_v1.11/"><em>Docker Remote API v1.11</em></a></p>
|
|
|
|
<h3 id="what-s-new-8">What’s new</h3>
|
|
|
|
<p><code>GET /_ping</code></p>
|
|
|
|
<p><strong>New!</strong>
|
|
You can now ping the server via the <code>_ping</code> endpoint.</p>
|
|
|
|
<p><code>GET /events</code></p>
|
|
|
|
<p><strong>New!</strong>
|
|
You can now use the <code>-until</code> parameter to close connection
|
|
after timestamp.</p>
|
|
|
|
<p><code>GET /containers/(id)/logs</code></p>
|
|
|
|
<p>This url is preferred method for getting container logs now.</p>
|
|
|
|
<h2 id="v1-10">v1.10</h2>
|
|
|
|
<h3 id="full-documentation-9">Full documentation</h3>
|
|
|
|
<p><a href="/docker/reference/api/docker_remote_api_v1.10/"><em>Docker Remote API v1.10</em></a></p>
|
|
|
|
<h3 id="what-s-new-9">What’s new</h3>
|
|
|
|
<p><code>DELETE /images/(name)</code></p>
|
|
|
|
<p><strong>New!</strong>
|
|
You can now use the force parameter to force delete of an
|
|
image, even if it’s tagged in multiple repositories. <strong>New!</strong>
|
|
You
|
|
can now use the noprune parameter to prevent the deletion of parent
|
|
images</p>
|
|
|
|
<p><code>DELETE /containers/(id)</code></p>
|
|
|
|
<p><strong>New!</strong>
|
|
You can now use the force parameter to force delete a
|
|
container, even if it is currently running</p>
|
|
|
|
<h2 id="v1-9">v1.9</h2>
|
|
|
|
<h3 id="full-documentation-10">Full documentation</h3>
|
|
|
|
<p><a href="/docker/reference/api/docker_remote_api_v1.9/"><em>Docker Remote API v1.9</em></a></p>
|
|
|
|
<h3 id="what-s-new-10">What’s new</h3>
|
|
|
|
<p><code>POST /build</code></p>
|
|
|
|
<p><strong>New!</strong>
|
|
This endpoint now takes a serialized ConfigFile which it
|
|
uses to resolve the proper registry auth credentials for pulling the
|
|
base image. Clients which previously implemented the version
|
|
accepting an AuthConfig object must be updated.</p>
|
|
|
|
<h2 id="v1-8">v1.8</h2>
|
|
|
|
<h3 id="full-documentation-11">Full documentation</h3>
|
|
|
|
<p><a href="/docker/reference/api/docker_remote_api_v1.8/"><em>Docker Remote API v1.8</em></a></p>
|
|
|
|
<h3 id="what-s-new-11">What’s new</h3>
|
|
|
|
<p><code>POST /build</code></p>
|
|
|
|
<p><strong>New!</strong>
|
|
This endpoint now returns build status as json stream. In
|
|
case of a build error, it returns the exit status of the failed
|
|
command.</p>
|
|
|
|
<p><code>GET /containers/(id)/json</code></p>
|
|
|
|
<p><strong>New!</strong>
|
|
This endpoint now returns the host config for the
|
|
container.</p>
|
|
|
|
<p><code>POST /images/create</code></p>
|
|
|
|
<p><code>POST /images/(name)/insert</code></p>
|
|
|
|
<p><code>POST /images/(name)/push</code></p>
|
|
|
|
<p><strong>New!</strong>
|
|
progressDetail object was added in the JSON. It’s now
|
|
possible to get the current value and the total of the progress
|
|
without having to parse the string.</p>
|
|
|
|
<h2 id="v1-7">v1.7</h2>
|
|
|
|
<h3 id="full-documentation-12">Full documentation</h3>
|
|
|
|
<p><a href="/docker/reference/api/docker_remote_api_v1.7/"><em>Docker Remote API v1.7</em></a></p>
|
|
|
|
<h3 id="what-s-new-12">What’s new</h3>
|
|
|
|
<p><code>GET /images/json</code></p>
|
|
|
|
<p>The format of the json returned from this uri changed. Instead of an
|
|
entry for each repo/tag on an image, each image is only represented
|
|
once, with a nested attribute indicating the repo/tags that apply to
|
|
that image.</p>
|
|
|
|
<p>Instead of:</p>
|
|
|
|
<pre><code>HTTP/1.1 200 OK
|
|
Content-Type: application/json
|
|
|
|
[
|
|
{
|
|
"VirtualSize": 131506275,
|
|
"Size": 131506275,
|
|
"Created": 1365714795,
|
|
"Id": "8dbd9e392a964056420e5d58ca5cc376ef18e2de93b5cc90e868a1bbc8318c1c",
|
|
"Tag": "12.04",
|
|
"Repository": "ubuntu"
|
|
},
|
|
{
|
|
"VirtualSize": 131506275,
|
|
"Size": 131506275,
|
|
"Created": 1365714795,
|
|
"Id": "8dbd9e392a964056420e5d58ca5cc376ef18e2de93b5cc90e868a1bbc8318c1c",
|
|
"Tag": "latest",
|
|
"Repository": "ubuntu"
|
|
},
|
|
{
|
|
"VirtualSize": 131506275,
|
|
"Size": 131506275,
|
|
"Created": 1365714795,
|
|
"Id": "8dbd9e392a964056420e5d58ca5cc376ef18e2de93b5cc90e868a1bbc8318c1c",
|
|
"Tag": "precise",
|
|
"Repository": "ubuntu"
|
|
},
|
|
{
|
|
"VirtualSize": 180116135,
|
|
"Size": 24653,
|
|
"Created": 1364102658,
|
|
"Id": "b750fe79269d2ec9a3c593ef05b4332b1d1a02a62b4accb2c21d589ff2f5f2dc",
|
|
"Tag": "12.10",
|
|
"Repository": "ubuntu"
|
|
},
|
|
{
|
|
"VirtualSize": 180116135,
|
|
"Size": 24653,
|
|
"Created": 1364102658,
|
|
"Id": "b750fe79269d2ec9a3c593ef05b4332b1d1a02a62b4accb2c21d589ff2f5f2dc",
|
|
"Tag": "quantal",
|
|
"Repository": "ubuntu"
|
|
}
|
|
]
|
|
</code></pre>
|
|
|
|
<p>The returned json looks like this:</p>
|
|
|
|
<pre><code>HTTP/1.1 200 OK
|
|
Content-Type: application/json
|
|
|
|
[
|
|
{
|
|
"RepoTags": [
|
|
"ubuntu:12.04",
|
|
"ubuntu:precise",
|
|
"ubuntu:latest"
|
|
],
|
|
"Id": "8dbd9e392a964056420e5d58ca5cc376ef18e2de93b5cc90e868a1bbc8318c1c",
|
|
"Created": 1365714795,
|
|
"Size": 131506275,
|
|
"VirtualSize": 131506275
|
|
},
|
|
{
|
|
"RepoTags": [
|
|
"ubuntu:12.10",
|
|
"ubuntu:quantal"
|
|
],
|
|
"ParentId": "27cf784147099545",
|
|
"Id": "b750fe79269d2ec9a3c593ef05b4332b1d1a02a62b4accb2c21d589ff2f5f2dc",
|
|
"Created": 1364102658,
|
|
"Size": 24653,
|
|
"VirtualSize": 180116135
|
|
}
|
|
]
|
|
</code></pre>
|
|
|
|
<p><code>GET /images/viz</code></p>
|
|
|
|
<p>This URI no longer exists. The <code>images --viz</code>
|
|
output is now generated in the client, using the
|
|
<code>/images/json</code> data.</p>
|
|
|
|
<h2 id="v1-6">v1.6</h2>
|
|
|
|
<h3 id="full-documentation-13">Full documentation</h3>
|
|
|
|
<p><a href="/docker/reference/api/docker_remote_api_v1.6/"><em>Docker Remote API v1.6</em></a></p>
|
|
|
|
<h3 id="what-s-new-13">What’s new</h3>
|
|
|
|
<p><code>POST /containers/(id)/attach</code></p>
|
|
|
|
<p><strong>New!</strong>
|
|
You can now split stderr from stdout. This is done by
|
|
prefixing a header to each transmission. See
|
|
<a href="/reference/api/docker_remote_api_v1.9/#attach-to-a-container "POST /containers/(id"><code>POST /containers/(id)/attach</code></a>/attach”).
|
|
The WebSocket attach is unchanged. Note that attach calls on the
|
|
previous API version didn’t change. Stdout and stderr are merged.</p>
|
|
|
|
<h2 id="v1-5">v1.5</h2>
|
|
|
|
<h3 id="full-documentation-14">Full documentation</h3>
|
|
|
|
<p><a href="/docker/reference/api/docker_remote_api_v1.5/"><em>Docker Remote API v1.5</em></a></p>
|
|
|
|
<h3 id="what-s-new-14">What’s new</h3>
|
|
|
|
<p><code>POST /images/create</code></p>
|
|
|
|
<p><strong>New!</strong>
|
|
You can now pass registry credentials (via an AuthConfig
|
|
object) through the X-Registry-Auth header</p>
|
|
|
|
<p><code>POST /images/(name)/push</code></p>
|
|
|
|
<p><strong>New!</strong>
|
|
The AuthConfig object now needs to be passed through the
|
|
X-Registry-Auth header</p>
|
|
|
|
<p><code>GET /containers/json</code></p>
|
|
|
|
<p><strong>New!</strong>
|
|
The format of the Ports entry has been changed to a list of
|
|
dicts each containing PublicPort, PrivatePort and Type describing a
|
|
port mapping.</p>
|
|
|
|
<h2 id="v1-4">v1.4</h2>
|
|
|
|
<h3 id="full-documentation-15">Full documentation</h3>
|
|
|
|
<p><a href="/docker/reference/api/docker_remote_api_v1.4/"><em>Docker Remote API v1.4</em></a></p>
|
|
|
|
<h3 id="what-s-new-15">What’s new</h3>
|
|
|
|
<p><code>POST /images/create</code></p>
|
|
|
|
<p><strong>New!</strong>
|
|
When pulling a repo, all images are now downloaded in parallel.</p>
|
|
|
|
<p><code>GET /containers/(id)/top</code></p>
|
|
|
|
<p><strong>New!</strong>
|
|
You can now use ps args with docker top, like docker top
|
|
<container_id> aux</p>
|
|
|
|
<p><code>GET /events</code></p>
|
|
|
|
<p><strong>New!</strong>
|
|
Image’s name added in the events</p>
|
|
|
|
<h2 id="v1-3">v1.3</h2>
|
|
|
|
<p>docker v0.5.0
|
|
<a href="https://github.com/docker/docker/commit/51f6c4a7372450d164c61e0054daf0223ddbd909">51f6c4a</a></p>
|
|
|
|
<h3 id="full-documentation-16">Full documentation</h3>
|
|
|
|
<p><a href="/docker/reference/api/docker_remote_api_v1.3/"><em>Docker Remote API v1.3</em></a></p>
|
|
|
|
<h3 id="what-s-new-16">What’s new</h3>
|
|
|
|
<p><code>GET /containers/(id)/top</code></p>
|
|
|
|
<p>List the processes running inside a container.</p>
|
|
|
|
<p><code>GET /events</code></p>
|
|
|
|
<p><strong>New!</strong>
|
|
Monitor docker’s events via streaming or via polling</p>
|
|
|
|
<p>Builder (/build):</p>
|
|
|
|
<ul>
|
|
<li>Simplify the upload of the build context</li>
|
|
<li>Simply stream a tarball instead of multipart upload with 4
|
|
intermediary buffers</li>
|
|
<li>Simpler, less memory usage, less disk usage and faster</li>
|
|
</ul>
|
|
|
|
<blockquote>
|
|
<p><strong>Warning</strong>:
|
|
The /build improvements are not reverse-compatible. Pre 1.3 clients will
|
|
break on /build.</p>
|
|
</blockquote>
|
|
|
|
<p>List containers (/containers/json):</p>
|
|
|
|
<ul>
|
|
<li>You can use size=1 to get the size of the containers</li>
|
|
</ul>
|
|
|
|
<p>Start containers (/containers/<id>/start):</p>
|
|
|
|
<ul>
|
|
<li>You can now pass host-specific configuration (e.g., bind mounts) in
|
|
the POST body for start calls</li>
|
|
</ul>
|
|
|
|
<h2 id="v1-2">v1.2</h2>
|
|
|
|
<p>docker v0.4.2
|
|
<a href="https://github.com/docker/docker/commit/2e7649beda7c820793bd46766cbc2cfeace7b168">2e7649b</a></p>
|
|
|
|
<h3 id="full-documentation-17">Full documentation</h3>
|
|
|
|
<p><a href="/docker/reference/api/docker_remote_api_v1.2/"><em>Docker Remote API v1.2</em></a></p>
|
|
|
|
<h3 id="what-s-new-17">What’s new</h3>
|
|
|
|
<p>The auth configuration is now handled by the client.</p>
|
|
|
|
<p>The client should send it’s authConfig as POST on each call of
|
|
<code>/images/(name)/push</code></p>
|
|
|
|
<p><code>GET /auth</code></p>
|
|
|
|
<p><strong>Deprecated.</strong></p>
|
|
|
|
<p><code>POST /auth</code></p>
|
|
|
|
<p>Only checks the configuration but doesn’t store it on the server</p>
|
|
|
|
<pre><code>Deleting an image is now improved, will only untag the image if it
|
|
has children and remove all the untagged parents if has any.
|
|
</code></pre>
|
|
|
|
<p><code>POST /images/<name>/delete</code></p>
|
|
|
|
<p>Now returns a JSON structure with the list of images
|
|
deleted/untagged.</p>
|
|
|
|
<h2 id="v1-1">v1.1</h2>
|
|
|
|
<p>docker v0.4.0
|
|
<a href="https://github.com/docker/docker/commit/a8ae398bf52e97148ee7bd0d5868de2e15bd297f">a8ae398</a></p>
|
|
|
|
<h3 id="full-documentation-18">Full documentation</h3>
|
|
|
|
<p><a href="/docker/reference/api/docker_remote_api_v1.1/"><em>Docker Remote API v1.1</em></a></p>
|
|
|
|
<h3 id="what-s-new-18">What’s new</h3>
|
|
|
|
<p><code>POST /images/create</code></p>
|
|
|
|
<p><code>POST /images/(name)/insert</code></p>
|
|
|
|
<p><code>POST /images/(name)/push</code></p>
|
|
|
|
<p>Uses json stream instead of HTML hijack, it looks like this:</p>
|
|
|
|
<pre><code> HTTP/1.1 200 OK
|
|
Content-Type: application/json
|
|
|
|
{"status":"Pushing..."}
|
|
{"status":"Pushing", "progress":"1/? (n/a)"}
|
|
{"error":"Invalid..."}
|
|
...
|
|
</code></pre>
|
|
|
|
<h2 id="v1-0">v1.0</h2>
|
|
|
|
<p>docker v0.3.4
|
|
<a href="https://github.com/docker/docker/commit/8d73740343778651c09160cde9661f5f387b36f4">8d73740</a></p>
|
|
|
|
<h3 id="full-documentation-19">Full documentation</h3>
|
|
|
|
<p><a href="/docker/reference/api/docker_remote_api_v1.0/"><em>Docker Remote API v1.0</em></a></p>
|
|
|
|
<h3 id="what-s-new-19">What’s new</h3>
|
|
|
|
<p>Initial version</p>
|
|
|
|
</article>
|
|
</section>
|
|
</div>
|
|
<div id="toc" class="large-3 columns toc compact">
|
|
On this page:
|
|
<nav id="TableOfContents">
|
|
<ul>
|
|
<li><a href="#docker-remote-api">Docker Remote API</a>
|
|
<ul>
|
|
<li><a href="#docker-events">Docker Events</a></li>
|
|
<li><a href="#v1-19">v1.19</a>
|
|
<ul>
|
|
<li><a href="#full-documentation">Full documentation</a></li>
|
|
<li><a href="#what-s-new">What’s new</a></li>
|
|
</ul></li>
|
|
<li><a href="#v1-18">v1.18</a>
|
|
<ul>
|
|
<li><a href="#full-documentation-1">Full documentation</a></li>
|
|
<li><a href="#what-s-new-1">What’s new</a></li>
|
|
</ul></li>
|
|
<li><a href="#v1-17">v1.17</a>
|
|
<ul>
|
|
<li><a href="#full-documentation-2">Full documentation</a></li>
|
|
<li><a href="#what-s-new-2">What’s new</a></li>
|
|
</ul></li>
|
|
<li><a href="#v1-16">v1.16</a>
|
|
<ul>
|
|
<li><a href="#full-documentation-3">Full documentation</a></li>
|
|
<li><a href="#what-s-new-3">What’s new</a></li>
|
|
</ul></li>
|
|
<li><a href="#v1-15">v1.15</a>
|
|
<ul>
|
|
<li><a href="#full-documentation-4">Full documentation</a></li>
|
|
<li><a href="#what-s-new-4">What’s new</a></li>
|
|
</ul></li>
|
|
<li><a href="#v1-14">v1.14</a>
|
|
<ul>
|
|
<li><a href="#full-documentation-5">Full documentation</a></li>
|
|
<li><a href="#what-s-new-5">What’s new</a></li>
|
|
</ul></li>
|
|
<li><a href="#v1-13">v1.13</a>
|
|
<ul>
|
|
<li><a href="#full-documentation-6">Full documentation</a></li>
|
|
<li><a href="#what-s-new-6">What’s new</a></li>
|
|
</ul></li>
|
|
<li><a href="#v1-12">v1.12</a>
|
|
<ul>
|
|
<li><a href="#full-documentation-7">Full documentation</a></li>
|
|
<li><a href="#what-s-new-7">What’s new</a></li>
|
|
</ul></li>
|
|
<li><a href="#v1-11">v1.11</a>
|
|
<ul>
|
|
<li><a href="#full-documentation-8">Full documentation</a></li>
|
|
<li><a href="#what-s-new-8">What’s new</a></li>
|
|
</ul></li>
|
|
<li><a href="#v1-10">v1.10</a>
|
|
<ul>
|
|
<li><a href="#full-documentation-9">Full documentation</a></li>
|
|
<li><a href="#what-s-new-9">What’s new</a></li>
|
|
</ul></li>
|
|
<li><a href="#v1-9">v1.9</a>
|
|
<ul>
|
|
<li><a href="#full-documentation-10">Full documentation</a></li>
|
|
<li><a href="#what-s-new-10">What’s new</a></li>
|
|
</ul></li>
|
|
<li><a href="#v1-8">v1.8</a>
|
|
<ul>
|
|
<li><a href="#full-documentation-11">Full documentation</a></li>
|
|
<li><a href="#what-s-new-11">What’s new</a></li>
|
|
</ul></li>
|
|
<li><a href="#v1-7">v1.7</a>
|
|
<ul>
|
|
<li><a href="#full-documentation-12">Full documentation</a></li>
|
|
<li><a href="#what-s-new-12">What’s new</a></li>
|
|
</ul></li>
|
|
<li><a href="#v1-6">v1.6</a>
|
|
<ul>
|
|
<li><a href="#full-documentation-13">Full documentation</a></li>
|
|
<li><a href="#what-s-new-13">What’s new</a></li>
|
|
</ul></li>
|
|
<li><a href="#v1-5">v1.5</a>
|
|
<ul>
|
|
<li><a href="#full-documentation-14">Full documentation</a></li>
|
|
<li><a href="#what-s-new-14">What’s new</a></li>
|
|
</ul></li>
|
|
<li><a href="#v1-4">v1.4</a>
|
|
<ul>
|
|
<li><a href="#full-documentation-15">Full documentation</a></li>
|
|
<li><a href="#what-s-new-15">What’s new</a></li>
|
|
</ul></li>
|
|
<li><a href="#v1-3">v1.3</a>
|
|
<ul>
|
|
<li><a href="#full-documentation-16">Full documentation</a></li>
|
|
<li><a href="#what-s-new-16">What’s new</a></li>
|
|
</ul></li>
|
|
<li><a href="#v1-2">v1.2</a>
|
|
<ul>
|
|
<li><a href="#full-documentation-17">Full documentation</a></li>
|
|
<li><a href="#what-s-new-17">What’s new</a></li>
|
|
</ul></li>
|
|
<li><a href="#v1-1">v1.1</a>
|
|
<ul>
|
|
<li><a href="#full-documentation-18">Full documentation</a></li>
|
|
<li><a href="#what-s-new-18">What’s new</a></li>
|
|
</ul></li>
|
|
<li><a href="#v1-0">v1.0</a>
|
|
<ul>
|
|
<li><a href="#full-documentation-19">Full documentation</a></li>
|
|
<li><a href="#what-s-new-19">What’s new</a></li>
|
|
</ul></li>
|
|
</ul></li>
|
|
</ul>
|
|
</nav>
|
|
</div>
|
|
</div>
|
|
|
|
<footer class="main-footer">
|
|
<div class="row">
|
|
</div>
|
|
<div class="row">
|
|
</div>
|
|
<div id="buildinfo">
|
|
Jul 8, 2015 at 6:45pm (PST)
|
|
BUILD_DATA
|
|
</div>
|
|
</footer>
|
|
<link rel="stylesheet" href="/highlight/styles/github.css">
|
|
<script src="/highlight/highlight.pack.js"></script>
|
|
<script>hljs.initHighlightingOnLoad();</script>
|
|
|
|
<script src="/dist/assets/js/all.js"></script>
|
|
<script>
|
|
$( 'nav li:has(ul)' ).doubleTapToGo();
|
|
</script>
|
|
<script>
|
|
|
|
;(function ( $, window, document, undefined ) {
|
|
|
|
var pluginName = 'accordion',
|
|
defaults = {
|
|
transitionSpeed: 300,
|
|
transitionEasing: 'ease',
|
|
controlElement: '[data-control]',
|
|
contentElement: '[data-content]',
|
|
groupElement: '[data-accordion-group]',
|
|
singleOpen: true
|
|
};
|
|
|
|
function Accordion(element, options) {
|
|
this.element = element;
|
|
this.options = $.extend({}, defaults, options);
|
|
this._defaults = defaults;
|
|
this._name = pluginName;
|
|
this.init();
|
|
}
|
|
|
|
Accordion.prototype.init = function () {
|
|
var self = this,
|
|
opts = self.options;
|
|
|
|
var $accordion = $(self.element),
|
|
$controls = $accordion.find('> ' + opts.controlElement),
|
|
$content = $accordion.find('> ' + opts.contentElement);
|
|
|
|
var accordionParentsQty = $accordion.parents('[data-accordion]').length,
|
|
accordionHasParent = accordionParentsQty > 0;
|
|
|
|
var closedCSS = { 'max-height': 0, 'overflow': 'hidden' };
|
|
|
|
var CSStransitions = supportsTransitions();
|
|
|
|
function debounce(func, threshold, execAsap) {
|
|
var timeout;
|
|
|
|
return function debounced() {
|
|
var obj = this,
|
|
args = arguments;
|
|
|
|
function delayed() {
|
|
if (!execAsap) func.apply(obj, args);
|
|
timeout = null;
|
|
};
|
|
|
|
if (timeout) clearTimeout(timeout);
|
|
else if (execAsap) func.apply(obj, args);
|
|
|
|
timeout = setTimeout(delayed, threshold || 100);
|
|
};
|
|
}
|
|
|
|
function supportsTransitions() {
|
|
var b = document.body || document.documentElement,
|
|
s = b.style,
|
|
p = 'transition';
|
|
|
|
if (typeof s[p] == 'string') {
|
|
return true;
|
|
}
|
|
|
|
var v = ['Moz', 'webkit', 'Webkit', 'Khtml', 'O', 'ms'];
|
|
|
|
p = 'Transition';
|
|
|
|
for (var i=0; i<v.length; i++) {
|
|
if (typeof s[v[i] + p] == 'string') {
|
|
return true;
|
|
}
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
function requestAnimFrame(cb) {
|
|
if(window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame) {
|
|
return requestAnimationFrame(cb) ||
|
|
webkitRequestAnimationFrame(cb) ||
|
|
mozRequestAnimationFrame(cb);
|
|
} else {
|
|
return setTimeout(cb, 1000 / 60);
|
|
}
|
|
}
|
|
|
|
function toggleTransition($el, remove) {
|
|
if(!remove) {
|
|
$content.css({
|
|
'-webkit-transition': 'max-height ' + opts.transitionSpeed + 'ms ' + opts.transitionEasing,
|
|
'transition': 'max-height ' + opts.transitionSpeed + 'ms ' + opts.transitionEasing
|
|
});
|
|
} else {
|
|
$content.css({
|
|
'-webkit-transition': '',
|
|
'transition': ''
|
|
});
|
|
}
|
|
}
|
|
|
|
function calculateHeight($el) {
|
|
var height = 0;
|
|
|
|
$el.children().each(function() {
|
|
height = height + $(this).outerHeight(true);
|
|
});
|
|
|
|
$el.data('oHeight', height);
|
|
}
|
|
|
|
function updateParentHeight($parentAccordion, $currentAccordion, qty, operation) {
|
|
var $content = $parentAccordion.filter('.open').find('> [data-content]'),
|
|
$childs = $content.find('[data-accordion].open > [data-content]'),
|
|
$matched;
|
|
|
|
if(!opts.singleOpen) {
|
|
$childs = $childs.not($currentAccordion.siblings('[data-accordion].open').find('> [data-content]'));
|
|
}
|
|
|
|
$matched = $content.add($childs);
|
|
|
|
if($parentAccordion.hasClass('open')) {
|
|
$matched.each(function() {
|
|
var currentHeight = $(this).data('oHeight');
|
|
|
|
switch (operation) {
|
|
case '+':
|
|
$(this).data('oHeight', currentHeight + qty);
|
|
break;
|
|
case '-':
|
|
$(this).data('oHeight', currentHeight - qty);
|
|
break;
|
|
default:
|
|
throw 'updateParentHeight method needs an operation';
|
|
}
|
|
|
|
$(this).css('max-height', $(this).data('oHeight'));
|
|
});
|
|
}
|
|
}
|
|
|
|
function refreshHeight($accordion) {
|
|
if($accordion.hasClass('open')) {
|
|
var $content = $accordion.find('> [data-content]'),
|
|
$childs = $content.find('[data-accordion].open > [data-content]'),
|
|
$matched = $content.add($childs);
|
|
|
|
calculateHeight($matched);
|
|
|
|
$matched.css('max-height', $matched.data('oHeight'));
|
|
}
|
|
}
|
|
|
|
function closeAccordion($accordion, $content) {
|
|
$accordion.trigger('accordion.close');
|
|
|
|
if(CSStransitions) {
|
|
if(accordionHasParent) {
|
|
var $parentAccordions = $accordion.parents('[data-accordion]');
|
|
|
|
updateParentHeight($parentAccordions, $accordion, $content.data('oHeight'), '-');
|
|
}
|
|
|
|
$content.css(closedCSS);
|
|
|
|
$accordion.removeClass('open');
|
|
} else {
|
|
$content.css('max-height', $content.data('oHeight'));
|
|
|
|
$content.animate(closedCSS, opts.transitionSpeed);
|
|
|
|
$accordion.removeClass('open');
|
|
}
|
|
}
|
|
|
|
function openAccordion($accordion, $content) {
|
|
$accordion.trigger('accordion.open');
|
|
if(CSStransitions) {
|
|
toggleTransition($content);
|
|
|
|
if(accordionHasParent) {
|
|
var $parentAccordions = $accordion.parents('[data-accordion]');
|
|
|
|
updateParentHeight($parentAccordions, $accordion, $content.data('oHeight'), '+');
|
|
}
|
|
|
|
requestAnimFrame(function() {
|
|
$content.css('max-height', $content.data('oHeight'));
|
|
});
|
|
|
|
$accordion.addClass('open');
|
|
} else {
|
|
$content.animate({
|
|
'max-height': $content.data('oHeight')
|
|
}, opts.transitionSpeed, function() {
|
|
$content.css({'max-height': 'none'});
|
|
});
|
|
|
|
$accordion.addClass('open');
|
|
}
|
|
}
|
|
|
|
function closeSiblingAccordions($accordion) {
|
|
var $accordionGroup = $accordion.closest(opts.groupElement);
|
|
|
|
var $siblings = $accordion.siblings('[data-accordion]').filter('.open'),
|
|
$siblingsChildren = $siblings.find('[data-accordion]').filter('.open');
|
|
|
|
var $otherAccordions = $siblings.add($siblingsChildren);
|
|
|
|
$otherAccordions.each(function() {
|
|
var $accordion = $(this),
|
|
$content = $accordion.find(opts.contentElement);
|
|
|
|
closeAccordion($accordion, $content);
|
|
});
|
|
|
|
$otherAccordions.removeClass('open');
|
|
}
|
|
|
|
function toggleAccordion() {
|
|
var isAccordionGroup = (opts.singleOpen) ? $accordion.parents(opts.groupElement).length > 0 : false;
|
|
|
|
calculateHeight($content);
|
|
|
|
if(isAccordionGroup) {
|
|
closeSiblingAccordions($accordion);
|
|
}
|
|
|
|
if($accordion.hasClass('open')) {
|
|
closeAccordion($accordion, $content);
|
|
} else {
|
|
openAccordion($accordion, $content);
|
|
}
|
|
}
|
|
|
|
function addEventListeners() {
|
|
$controls.on('click', toggleAccordion);
|
|
|
|
$controls.on('accordion.toggle', function() {
|
|
if(opts.singleOpen && $controls.length > 1) {
|
|
return false;
|
|
}
|
|
|
|
toggleAccordion();
|
|
});
|
|
|
|
$(window).on('resize', debounce(function() {
|
|
refreshHeight($accordion);
|
|
}));
|
|
}
|
|
|
|
function setup() {
|
|
$content.each(function() {
|
|
var $curr = $(this);
|
|
|
|
if($curr.css('max-height') != 0) {
|
|
if(!$curr.closest('[data-accordion]').hasClass('open')) {
|
|
$curr.css({ 'max-height': 0, 'overflow': 'hidden' });
|
|
} else {
|
|
toggleTransition($curr);
|
|
calculateHeight($curr);
|
|
|
|
$curr.css('max-height', $curr.data('oHeight'));
|
|
}
|
|
}
|
|
});
|
|
|
|
|
|
if(!$accordion.attr('data-accordion')) {
|
|
$accordion.attr('data-accordion', '');
|
|
$accordion.find(opts.controlElement).attr('data-control', '');
|
|
$accordion.find(opts.contentElement).attr('data-content', '');
|
|
}
|
|
}
|
|
|
|
setup();
|
|
addEventListeners();
|
|
};
|
|
|
|
$.fn[pluginName] = function ( options ) {
|
|
return this.each(function () {
|
|
if (!$.data(this, 'plugin_' + pluginName)) {
|
|
$.data(this, 'plugin_' + pluginName,
|
|
new Accordion( this, options ));
|
|
}
|
|
});
|
|
}
|
|
|
|
})( jQuery, window, document );
|
|
|
|
$(document).ready(function() {
|
|
$('#multiple [data-accordion]').accordion({
|
|
singleOpen: false
|
|
});
|
|
});
|
|
|
|
</script>
|
|
|
|
|
|
<script src="/dist/assets/js/bootstrap-3.0.3.min.js"></script>
|
|
<script src="/dist/assets/js/archive.js"></script>
|
|
<script type="text/javascript">
|
|
!function(){var analytics=window.analytics=window.analytics||[];if(!analytics.initialize)if(analytics.invoked)window.console&&console.error&&console.error("Segment snippet included twice.");else{analytics.invoked=!0;analytics.methods=["trackSubmit","trackClick","trackLink","trackForm","pageview","identify","reset","group","track","ready","alias","debug","page","once","off","on"];analytics.factory=function(t){return function(){var e=Array.prototype.slice.call(arguments);e.unshift(t);analytics.push(e);return analytics}};for(var t=0;t<analytics.methods.length;t++){var e=analytics.methods[t];analytics[e]=analytics.factory(e)}analytics.load=function(t){var e=document.createElement("script");e.type="text/javascript";e.async=!0;e.src=("https:"===document.location.protocol?"https://":"http://")+"cdn.segment.com/analytics.js/v1/"+t+"/analytics.min.js";var n=document.getElementsByTagName("script")[0];n.parentNode.insertBefore(e,n)};analytics.SNIPPET_VERSION="4.0.0";
|
|
analytics.load("IWj9D0UpZHZdZUZX9jl98PcpBFWBnBMy");
|
|
analytics.page();
|
|
}}();
|
|
</script>
|
|
|