mirror of
https://github.com/docker/docs.git
synced 2026-04-01 08:48:56 +07:00
* Add an admonition to the top of the archive
Only works if you are online and the JSON file is available at
https://docs.docker.com/js/archives.json
* Fix JS errors, add Segment, hide old archive links
4180 lines
182 KiB
HTML
4180 lines
182 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en">
|
||
<head>
|
||
<meta charset="utf-8" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||
<meta name="description" content="The daemon command description and usage">
|
||
<meta name="keywords" content="[container, daemon, runtime]">
|
||
<title>daemon </title>
|
||
<link rel="shortcut icon" href="../../../../images/favicon.png" type="image/png">
|
||
<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 src="/dist/assets/js/bootstrap-3.0.3.min.js"></script>
|
||
<script src="../../../../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="https://www.docker.com/"><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/docker-support-services">Support</a></li>
|
||
<li><a href="https://training.docker.com/">Training</a></li>
|
||
<li><a href="https://docs.docker.com/">Docs</a></li>
|
||
<li><a href="http://blog.docker.com/">Blog</a></li>
|
||
<li><a href="https://hub.docker.com/">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/overview">Products</a>
|
||
<ul>
|
||
<li><a href="https://www.docker.com/pricing">Pricing</a></li>
|
||
<li><a href="https://www.docker.com/what-docker">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/docker-community">Community</a>
|
||
<ul>
|
||
<li><a href="https://www.docker.com/community/meetup-groups">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/find-partner">Partners</a>
|
||
<ul>
|
||
<li><a href="https://www.docker.com/partners/partner-program">Partner Program</a></li>
|
||
</ul>
|
||
</li>
|
||
<li><a href="https://www.docker.com/company">Company</a>
|
||
<ul>
|
||
<li><a href="https://www.docker.com/company/news-and-press">News & Press</a></li>
|
||
<li><a href="https://www.docker.com/careers">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-program">Partners Program</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> Docker Engine</button>
|
||
<div data-content>
|
||
|
||
|
||
<a data-link href="../../../../engine/quickstart/" class=""> Quickstart</a>
|
||
|
||
|
||
|
||
<a data-link href="../../../../engine/understanding-docker/" class=""> Understand the architecture</a>
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> Install</button>
|
||
<div data-content>
|
||
|
||
|
||
<a data-link href="../../../../engine/installation/mac/" class=""> Installation on Mac OS X</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../engine/installation/windows/" class=""> Installation on Windows</a>
|
||
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> On Linux distributions</button>
|
||
<div data-content>
|
||
|
||
<a data-link href="../../../../engine/installation/linux/ubuntulinux/" class=""> Installation on Ubuntu </a>
|
||
|
||
<a data-link href="../../../../engine/installation/linux/rhel/" class=""> Installation on Red Hat Enterprise Linux</a>
|
||
|
||
<a data-link href="../../../../engine/installation/linux/centos/" class=""> Installation on CentOS</a>
|
||
|
||
<a data-link href="../../../../engine/installation/linux/fedora/" class=""> Installation on Fedora</a>
|
||
|
||
<a data-link href="../../../../engine/installation/linux/debian/" class=""> Installation on Debian</a>
|
||
|
||
<a data-link href="../../../../engine/installation/linux/archlinux/" class=""> Installation on Arch Linux</a>
|
||
|
||
<a data-link href="../../../../engine/installation/linux/cruxlinux/" class=""> Installation on CRUX Linux</a>
|
||
|
||
<a data-link href="../../../../engine/installation/linux/frugalware/" class=""> Installation on FrugalWare</a>
|
||
|
||
<a data-link href="../../../../engine/installation/linux/gentoolinux/" class=""> Installation on Gentoo</a>
|
||
|
||
<a data-link href="../../../../engine/installation/linux/oracle/" class=""> Installation on Oracle Linux</a>
|
||
|
||
<a data-link href="../../../../engine/installation/linux/SUSE/" class=""> Installation on openSUSE and SUSE Linux Enterprise</a>
|
||
|
||
</div>
|
||
</article>
|
||
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> On cloud providers</button>
|
||
<div data-content>
|
||
|
||
<a data-link href="../../../../engine/installation/cloud/overview/" class=""> Choose how to install</a>
|
||
|
||
<a data-link href="../../../../engine/installation/cloud/cloud-ex-aws/" class=""> Example: Manual install on cloud provider</a>
|
||
|
||
<a data-link href="../../../../engine/installation/cloud/cloud-ex-machine-ocean/" class=""> Example: Use Docker Machine to provision cloud hosts</a>
|
||
|
||
</div>
|
||
</article>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../engine/installation/binaries/" class=""> Installation from binaries</a>
|
||
|
||
|
||
|
||
</div>
|
||
</article>
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> User guide</button>
|
||
<div data-content>
|
||
|
||
|
||
<a data-link href="../../../../engine/userguide/intro/" class=""> Introduction</a>
|
||
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> Learn by example</button>
|
||
<div data-content>
|
||
|
||
<a data-link href="../../../../engine/userguide/containers/dockerizing/" class=""> Hello world in a container</a>
|
||
|
||
<a data-link href="../../../../engine/userguide/containers/usingdocker/" class=""> Run a simple application</a>
|
||
|
||
<a data-link href="../../../../engine/userguide/containers/dockerimages/" class=""> Build your own images</a>
|
||
|
||
<a data-link href="../../../../engine/userguide/containers/networkingcontainers/" class=""> Network containers</a>
|
||
|
||
<a data-link href="../../../../engine/userguide/containers/dockervolumes/" class=""> Manage data in containers</a>
|
||
|
||
<a data-link href="../../../../engine/userguide/containers/dockerrepos/" class=""> Store images on Docker Hub</a>
|
||
|
||
</div>
|
||
</article>
|
||
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> Work with images</button>
|
||
<div data-content>
|
||
|
||
<a data-link href="../../../../engine/userguide/eng-image/dockerfile_best-practices/" class=""> Best practices for writing Dockerfiles</a>
|
||
|
||
<a data-link href="../../../../engine/userguide/eng-image/baseimages/" class=""> Create a base image</a>
|
||
|
||
<a data-link href="../../../../engine/userguide/eng-image/image_management/" class=""> Image management</a>
|
||
|
||
</div>
|
||
</article>
|
||
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> Docker storage drivers</button>
|
||
<div data-content>
|
||
|
||
<a data-link href="../../../../engine/userguide/storagedriver/imagesandcontainers/" class=""> Understand images, containers, and storage drivers</a>
|
||
|
||
<a data-link href="../../../../engine/userguide/storagedriver/selectadriver/" class=""> Select a storage driver</a>
|
||
|
||
<a data-link href="../../../../engine/userguide/storagedriver/aufs-driver/" class=""> AUFS storage driver in practice</a>
|
||
|
||
<a data-link href="../../../../engine/userguide/storagedriver/btrfs-driver/" class=""> Btrfs storage in practice</a>
|
||
|
||
<a data-link href="../../../../engine/userguide/storagedriver/device-mapper-driver/" class=""> Device mapper storage in practice</a>
|
||
|
||
<a data-link href="../../../../engine/userguide/storagedriver/overlayfs-driver/" class=""> OverlayFS storage in practice</a>
|
||
|
||
<a data-link href="../../../../engine/userguide/storagedriver/zfs-driver/" class=""> ZFS storage in practice</a>
|
||
|
||
</div>
|
||
</article>
|
||
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> Network configuration</button>
|
||
<div data-content>
|
||
|
||
<a data-link href="../../../../engine/userguide/networking/dockernetworks/" class=""> Docker container networking</a>
|
||
|
||
<a data-link href="../../../../engine/userguide/networking/work-with-networks/" class=""> Work with network commands</a>
|
||
|
||
<a data-link href="../../../../engine/userguide/networking/get-started-overlay/" class=""> Get started with multi-host networking</a>
|
||
|
||
<a data-link href="../../../../engine/userguide/networking/configure-dns/" class=""> Configure container DNS in user-defined networks</a>
|
||
|
||
<a data-link href="../../../../engine/userguide/networking/default_network/" class=""> Default bridge network</a>
|
||
|
||
</div>
|
||
</article>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../engine/userguide/labels-custom-metadata/" class=""> Apply custom metadata</a>
|
||
|
||
|
||
|
||
</div>
|
||
</article>
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> Administrate</button>
|
||
<div data-content>
|
||
|
||
|
||
<a data-link href="../../../../engine/admin/formatting/" class=""> Format command and log output</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../engine/admin/host_integration/" class=""> Automatically start containers</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../engine/admin/systemd/" class=""> Control and configure Docker with systemd</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../engine/admin/dsc/" class=""> PowerShell DSC Usage</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../engine/admin/chef/" class=""> Using Chef</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../engine/admin/puppet/" class=""> Using Puppet</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../engine/admin/using_supervisord/" class=""> Using Supervisor with Docker</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../engine/admin/configuring/" class=""> Configuring and running Docker</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../engine/admin/runmetrics/" class=""> Runtime metrics</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../engine/admin/ambassador_pattern_linking/" class=""> Link via an ambassador container</a>
|
||
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> Logging</button>
|
||
<div data-content>
|
||
|
||
<a data-link href="../../../../engine/admin/logging/overview/" class=""> Configuring Logging Drivers</a>
|
||
|
||
<a data-link href="../../../../engine/admin/logging/log_tags/" class=""> Log tags for logging driver</a>
|
||
|
||
<a data-link href="../../../../engine/admin/logging/awslogs/" class=""> Amazon CloudWatch Logs logging driver</a>
|
||
|
||
<a data-link href="../../../../engine/admin/logging/etwlogs/" class=""> ETW logging driver</a>
|
||
|
||
<a data-link href="../../../../engine/admin/logging/fluentd/" class=""> Fluentd logging driver</a>
|
||
|
||
<a data-link href="../../../../engine/admin/logging/gcplogs/" class=""> Google Cloud Logging driver</a>
|
||
|
||
<a data-link href="../../../../engine/admin/logging/journald/" class=""> Journald logging driver</a>
|
||
|
||
<a data-link href="../../../../engine/admin/logging/splunk/" class=""> Splunk logging driver</a>
|
||
|
||
</div>
|
||
</article>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../engine/admin/registry_mirror/" class=""> Run a local registry mirror</a>
|
||
|
||
|
||
|
||
</div>
|
||
</article>
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> Secure Engine</button>
|
||
<div data-content>
|
||
|
||
|
||
<a data-link href="../../../../engine/security/security/" class=""> Docker security</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../engine/security/non-events/" class=""> Docker Security Non-events</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../engine/security/https/" class=""> Protect the Docker daemon socket</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../engine/security/certificates/" class=""> Using certificates for repository client verification</a>
|
||
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> Use trusted images</button>
|
||
<div data-content>
|
||
|
||
<a data-link href="../../../../engine/security/trust/content_trust/" class=""> Content trust in Docker</a>
|
||
|
||
<a data-link href="../../../../engine/security/trust/trust_automation/" class=""> Automation with content trust</a>
|
||
|
||
<a data-link href="../../../../engine/security/trust/trust_delegation/" class=""> Delegations for content trust</a>
|
||
|
||
<a data-link href="../../../../engine/security/trust/deploying_notary/" class=""> Deploying Notary</a>
|
||
|
||
<a data-link href="../../../../engine/security/trust/trust_key_mng/" class=""> Manage keys for content trust</a>
|
||
|
||
<a data-link href="../../../../engine/security/trust/trust_sandbox/" class=""> Play in a content trust sandbox</a>
|
||
|
||
</div>
|
||
</article>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../engine/security/apparmor/" class=""> AppArmor security profiles for Docker</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../engine/security/seccomp/" class=""> Seccomp security profiles for Docker</a>
|
||
|
||
|
||
|
||
</div>
|
||
</article>
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> Extend Engine</button>
|
||
<div data-content>
|
||
|
||
|
||
<a data-link href="../../../../engine/extend/plugins_authorization/" class=""> Access authorization plugin</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../engine/extend/plugins/" class=""> Extending Engine with plugins</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../engine/extend/plugins_network/" class=""> Docker network driver plugins</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../engine/extend/plugins_volume/" class=""> Volume plugins</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../engine/extend/plugin_api/" class=""> Plugins API</a>
|
||
|
||
|
||
|
||
</div>
|
||
</article>
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> Dockerize an application</button>
|
||
<div data-content>
|
||
|
||
|
||
<a data-link href="../../../../engine/examples/mongodb/" class=""> Dockerizing MongoDB</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../engine/examples/postgresql_service/" class=""> Dockerizing PostgreSQL</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../engine/examples/couchdb_data_volumes/" class=""> Dockerizing a CouchDB service</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../engine/examples/couchbase/" class=""> Dockerizing a Couchbase service</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../engine/examples/running_redis_service/" class=""> Dockerizing a Redis service</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../engine/examples/running_riak_service/" class=""> Dockerizing a Riak service</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../engine/examples/running_ssh_service/" class=""> Dockerizing an SSH service</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../engine/examples/apt-cacher-ng/" class=""> Dockerizing an apt-cacher-ng service</a>
|
||
|
||
|
||
|
||
</div>
|
||
</article>
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> Engine reference</button>
|
||
<div data-content>
|
||
|
||
|
||
<a data-link href="../../../../engine/reference/builder/" class=""> Dockerfile reference</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../engine/reference/run/" class=""> Docker run reference</a>
|
||
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> Command line reference</button>
|
||
<div data-content>
|
||
|
||
<a data-link href="../../../../engine/reference/commandline/cli/" class=""> Use the Docker command line</a>
|
||
|
||
<a data-link href="../../../../engine/reference/commandline/daemon/" class=" active"> daemon</a>
|
||
|
||
<a data-link href="../../../../engine/reference/commandline/attach/" class=""> attach</a>
|
||
|
||
<a data-link href="../../../../engine/reference/commandline/build/" class=""> build</a>
|
||
|
||
<a data-link href="../../../../engine/reference/commandline/commit/" class=""> commit</a>
|
||
|
||
<a data-link href="../../../../engine/reference/commandline/cp/" class=""> cp</a>
|
||
|
||
<a data-link href="../../../../engine/reference/commandline/create/" class=""> create</a>
|
||
|
||
<a data-link href="../../../../engine/reference/commandline/diff/" class=""> diff</a>
|
||
|
||
<a data-link href="../../../../engine/reference/commandline/events/" class=""> events</a>
|
||
|
||
<a data-link href="../../../../engine/reference/commandline/exec/" class=""> exec</a>
|
||
|
||
<a data-link href="../../../../engine/reference/commandline/export/" class=""> export</a>
|
||
|
||
<a data-link href="../../../../engine/reference/commandline/history/" class=""> history</a>
|
||
|
||
<a data-link href="../../../../engine/reference/commandline/images/" class=""> images</a>
|
||
|
||
<a data-link href="../../../../engine/reference/commandline/import/" class=""> import</a>
|
||
|
||
<a data-link href="../../../../engine/reference/commandline/info/" class=""> info</a>
|
||
|
||
<a data-link href="../../../../engine/reference/commandline/inspect/" class=""> inspect</a>
|
||
|
||
<a data-link href="../../../../engine/reference/commandline/kill/" class=""> kill</a>
|
||
|
||
<a data-link href="../../../../engine/reference/commandline/load/" class=""> load</a>
|
||
|
||
<a data-link href="../../../../engine/reference/commandline/login/" class=""> login</a>
|
||
|
||
<a data-link href="../../../../engine/reference/commandline/logout/" class=""> logout</a>
|
||
|
||
<a data-link href="../../../../engine/reference/commandline/logs/" class=""> logs</a>
|
||
|
||
<a data-link href="../../../../engine/reference/commandline/network_connect/" class=""> network connect</a>
|
||
|
||
<a data-link href="../../../../engine/reference/commandline/network_create/" class=""> network create</a>
|
||
|
||
<a data-link href="../../../../engine/reference/commandline/network_disconnect/" class=""> network disconnect</a>
|
||
|
||
<a data-link href="../../../../engine/reference/commandline/network_inspect/" class=""> network inspect</a>
|
||
|
||
<a data-link href="../../../../engine/reference/commandline/network_ls/" class=""> network ls</a>
|
||
|
||
<a data-link href="../../../../engine/reference/commandline/network_rm/" class=""> network rm</a>
|
||
|
||
<a data-link href="../../../../engine/reference/commandline/pause/" class=""> pause</a>
|
||
|
||
<a data-link href="../../../../engine/reference/commandline/port/" class=""> port</a>
|
||
|
||
<a data-link href="../../../../engine/reference/commandline/ps/" class=""> ps</a>
|
||
|
||
<a data-link href="../../../../engine/reference/commandline/pull/" class=""> pull</a>
|
||
|
||
<a data-link href="../../../../engine/reference/commandline/push/" class=""> push</a>
|
||
|
||
<a data-link href="../../../../engine/reference/commandline/rename/" class=""> rename</a>
|
||
|
||
<a data-link href="../../../../engine/reference/commandline/restart/" class=""> restart</a>
|
||
|
||
<a data-link href="../../../../engine/reference/commandline/rm/" class=""> rm</a>
|
||
|
||
<a data-link href="../../../../engine/reference/commandline/rmi/" class=""> rmi</a>
|
||
|
||
<a data-link href="../../../../engine/reference/commandline/run/" class=""> run</a>
|
||
|
||
<a data-link href="../../../../engine/reference/commandline/save/" class=""> save</a>
|
||
|
||
<a data-link href="../../../../engine/reference/commandline/search/" class=""> search</a>
|
||
|
||
<a data-link href="../../../../engine/reference/commandline/start/" class=""> start</a>
|
||
|
||
<a data-link href="../../../../engine/reference/commandline/stats/" class=""> stats</a>
|
||
|
||
<a data-link href="../../../../engine/reference/commandline/stop/" class=""> stop</a>
|
||
|
||
<a data-link href="../../../../engine/reference/commandline/tag/" class=""> tag</a>
|
||
|
||
<a data-link href="../../../../engine/reference/commandline/top/" class=""> top</a>
|
||
|
||
<a data-link href="../../../../engine/reference/commandline/unpause/" class=""> unpause</a>
|
||
|
||
<a data-link href="../../../../engine/reference/commandline/update/" class=""> update</a>
|
||
|
||
<a data-link href="../../../../engine/reference/commandline/version/" class=""> version</a>
|
||
|
||
<a data-link href="../../../../engine/reference/commandline/volume_create/" class=""> volume create</a>
|
||
|
||
<a data-link href="../../../../engine/reference/commandline/volume_inspect/" class=""> volume inspect</a>
|
||
|
||
<a data-link href="../../../../engine/reference/commandline/volume_ls/" class=""> volume ls</a>
|
||
|
||
<a data-link href="../../../../engine/reference/commandline/volume_rm/" class=""> volume rm</a>
|
||
|
||
<a data-link href="../../../../engine/reference/commandline/wait/" class=""> wait</a>
|
||
|
||
</div>
|
||
</article>
|
||
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> API Reference</button>
|
||
<div data-content>
|
||
|
||
<a data-link href="../../../../engine/reference/api/docker_remote_api/" class=""> Remote API</a>
|
||
|
||
<a data-link href="../../../../engine/reference/api/docker_remote_api_v1.23/" class=""> Remote API v1.23</a>
|
||
|
||
<a data-link href="../../../../engine/reference/api/docker_remote_api_v1.22/" class=""> Remote API v1.22</a>
|
||
|
||
<a data-link href="../../../../engine/reference/api/docker_remote_api_v1.21/" class=""> Remote API v1.21</a>
|
||
|
||
<a data-link href="../../../../engine/reference/api/docker_remote_api_v1.20/" class=""> Remote API v1.20</a>
|
||
|
||
<a data-link href="../../../../engine/reference/api/docker_remote_api_v1.19/" class=""> Remote API v1.19</a>
|
||
|
||
<a data-link href="../../../../engine/reference/api/docker_remote_api_v1.18/" class=""> Remote API v1.18</a>
|
||
|
||
<a data-link href="../../../../engine/reference/api/remote_api_client_libraries/" class=""> Remote API client libraries</a>
|
||
|
||
<a data-link href="../../../../engine/reference/api/docker_io_accounts_api/" class=""> docker.io accounts API</a>
|
||
|
||
</div>
|
||
</article>
|
||
|
||
|
||
|
||
</div>
|
||
</article>
|
||
|
||
|
||
|
||
<a data-link href="../../../../engine/migration/" class=""> Migrate to Engine 1.10</a>
|
||
|
||
|
||
|
||
<a data-link href="../../../../engine/breaking_changes/" class=""> Breaking changes</a>
|
||
|
||
|
||
|
||
<a data-link href="../../../../engine/deprecated/" class=""> Deprecated Engine Features</a>
|
||
|
||
|
||
|
||
<a data-link href="../../../../engine/faq/" class=""> FAQ</a>
|
||
|
||
|
||
</div>
|
||
</article>
|
||
|
||
</section>
|
||
|
||
<section data-accordion>
|
||
|
||
<article data-accordion>
|
||
<button data-control> Docker Swarm</button>
|
||
<div data-content>
|
||
|
||
|
||
<a data-link href="../../../../swarm/overview/" class=""> Swarm Overview</a>
|
||
|
||
|
||
|
||
<a data-link href="../../../../swarm/get-swarm/" class=""> How to get Swarm</a>
|
||
|
||
|
||
|
||
<a data-link href="../../../../swarm/install-w-machine/" class=""> Evaluate Swarm in a sandbox</a>
|
||
|
||
|
||
|
||
<a data-link href="../../../../swarm/plan-for-production/" class=""> Plan for Swarm in production</a>
|
||
|
||
|
||
|
||
<a data-link href="../../../../swarm/install-manual/" class=""> Build a Swarm cluster for production</a>
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> Try Swarm at scale</button>
|
||
<div data-content>
|
||
|
||
|
||
<a data-link href="../../../../swarm/swarm_at_scale/about/" class=""> Learn the application architecture</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../swarm/swarm_at_scale/deploy-infra/" class=""> Deploy application infrastructure</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../swarm/swarm_at_scale/deploy-app/" class=""> Deploy the application</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../swarm/swarm_at_scale/troubleshoot/" class=""> Troubleshoot the application</a>
|
||
|
||
|
||
|
||
</div>
|
||
</article>
|
||
|
||
|
||
|
||
<a data-link href="../../../../swarm/multi-manager-setup/" class=""> High availability in Swarm</a>
|
||
|
||
|
||
|
||
<a data-link href="../../../../swarm/networking/" class=""> Swarm and container networks</a>
|
||
|
||
|
||
|
||
<a data-link href="../../../../swarm/discovery/" class=""> Discovery</a>
|
||
|
||
|
||
|
||
<a data-link href="../../../../swarm/provision-with-machine/" class=""> Provision with Machine</a>
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> Scheduling</button>
|
||
<div data-content>
|
||
|
||
|
||
<a data-link href="../../../../swarm/scheduler/filter/" class=""> Filters</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../swarm/scheduler/rescheduling/" class=""> Rescheduling</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../swarm/scheduler/strategy/" class=""> Strategies</a>
|
||
|
||
|
||
|
||
</div>
|
||
</article>
|
||
|
||
|
||
|
||
<a data-link href="../../../../swarm/secure-swarm-tls/" class=""> Overview Docker Swarm with TLS</a>
|
||
|
||
|
||
|
||
<a data-link href="../../../../swarm/configure-tls/" class=""> Configure Docker Swarm for TLS</a>
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> Command line reference</button>
|
||
<div data-content>
|
||
|
||
|
||
<a data-link href="../../../../swarm/reference/create/" class=""> create</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../swarm/reference/help/" class=""> help</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../swarm/reference/join/" class=""> join</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../swarm/reference/list/" class=""> list</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../swarm/reference/manage/" class=""> manage</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../swarm/reference/swarm/" class=""> swarm</a>
|
||
|
||
|
||
|
||
</div>
|
||
</article>
|
||
|
||
|
||
|
||
<a data-link href="../../../../swarm/status-code-comparison-to-docker/" class=""> API response codes</a>
|
||
|
||
|
||
|
||
<a data-link href="../../../../swarm/swarm-api/" class=""> Docker Swarm API</a>
|
||
|
||
|
||
</div>
|
||
</article>
|
||
|
||
</section>
|
||
|
||
<section data-accordion>
|
||
|
||
<article data-accordion>
|
||
<button data-control> Docker Compose</button>
|
||
<div data-content>
|
||
|
||
|
||
<a data-link href="../../../../compose/overview/" class=""> Overview of Docker Compose</a>
|
||
|
||
|
||
|
||
<a data-link href="../../../../compose/install/" class=""> Install Compose</a>
|
||
|
||
|
||
|
||
<a data-link href="../../../../compose/gettingstarted/" class=""> Getting Started</a>
|
||
|
||
|
||
|
||
<a data-link href="../../../../compose/swarm/" class=""> Using Compose with Swarm</a>
|
||
|
||
|
||
|
||
<a data-link href="../../../../compose/django/" class=""> Quickstart: Compose and Django</a>
|
||
|
||
|
||
|
||
<a data-link href="../../../../compose/rails/" class=""> Quickstart: Compose and Rails</a>
|
||
|
||
|
||
|
||
<a data-link href="../../../../compose/wordpress/" class=""> Quickstart: Compose and WordPress</a>
|
||
|
||
|
||
|
||
<a data-link href="../../../../compose/env-file/" class=""> Environment file</a>
|
||
|
||
|
||
|
||
<a data-link href="../../../../compose/extends/" class=""> Extending Services in Compose</a>
|
||
|
||
|
||
|
||
<a data-link href="../../../../compose/networking/" class=""> Networking in Compose</a>
|
||
|
||
|
||
|
||
<a data-link href="../../../../compose/production/" class=""> Using Compose in Production</a>
|
||
|
||
|
||
|
||
<a data-link href="../../../../compose/compose-file/" class=""> Compose File Reference</a>
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> Command-line Reference</button>
|
||
<div data-content>
|
||
|
||
|
||
<a data-link href="../../../../compose/reference/overview/" class=""> Overview of docker-compose CLI</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../compose/reference/envvars/" class=""> CLI Environment Variables</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../compose/reference/build/" class=""> build</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../compose/reference/config/" class=""> config</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../compose/reference/create/" class=""> create</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../compose/reference/down/" class=""> down</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../compose/reference/events/" class=""> events</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../compose/reference/exec/" class=""> exec</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../compose/reference/help/" class=""> help</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../compose/reference/kill/" class=""> kill</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../compose/reference/logs/" class=""> logs</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../compose/reference/pause/" class=""> pause</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../compose/reference/port/" class=""> port</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../compose/reference/ps/" class=""> ps</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../compose/reference/pull/" class=""> pull</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../compose/reference/restart/" class=""> restart</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../compose/reference/rm/" class=""> rm</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../compose/reference/run/" class=""> run</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../compose/reference/scale/" class=""> scale</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../compose/reference/start/" class=""> start</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../compose/reference/stop/" class=""> stop</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../compose/reference/unpause/" class=""> unpause</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../compose/reference/up/" class=""> up</a>
|
||
|
||
|
||
|
||
</div>
|
||
</article>
|
||
|
||
|
||
|
||
<a data-link href="../../../../compose/completion/" class=""> Command-line Completion</a>
|
||
|
||
|
||
|
||
<a data-link href="../../../../compose/link-env-deprecated/" class=""> Link Environment Variables</a>
|
||
|
||
|
||
|
||
<a data-link href="../../../../compose/startup-order/" class=""> Controlling startup order</a>
|
||
|
||
|
||
|
||
<a data-link href="../../../../compose/faq/" class=""> Frequently Asked Questions</a>
|
||
|
||
|
||
</div>
|
||
</article>
|
||
|
||
</section>
|
||
|
||
<section data-accordion>
|
||
|
||
<article data-accordion>
|
||
<button data-control> Docker Hub</button>
|
||
<div data-content>
|
||
|
||
|
||
<a data-link href="../../../../docker-hub/overview/" class=""> Introducing Docker Hub</a>
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-hub/accounts/" class=""> Your Docker ID</a>
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-hub/orgs/" class=""> Teams & Organizations</a>
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-hub/repos/" class=""> Repositories on Docker Hub</a>
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-hub/builds/" class=""> Automated Builds</a>
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-hub/webhooks/" class=""> Webhooks for automated builds</a>
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-hub/bitbucket/" class=""> Automated Builds with Bitbucket</a>
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-hub/github/" class=""> Automated Builds from GitHub</a>
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-hub/official_repos/" class=""> Official Repositories on Docker Hub</a>
|
||
|
||
|
||
</div>
|
||
</article>
|
||
|
||
</section>
|
||
|
||
<section data-accordion>
|
||
|
||
<article data-accordion>
|
||
<button data-control> CS Docker Engine</button>
|
||
<div data-content>
|
||
|
||
|
||
<a data-link href="../../../../docker-trusted-registry/cs-engine/install/" class=""> Install CS Docker Engine</a>
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-trusted-registry/cs-engine/upgrade/" class=""> Upgrade</a>
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> Release notes</button>
|
||
<div data-content>
|
||
|
||
|
||
<a data-link href="../../../../docker-trusted-registry/cs-engine/release-notes/release-notes/" class=""> CS Engine release notes</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-trusted-registry/cs-engine/release-notes/prior-release-notes/" class=""> Prior CS Engine release notes</a>
|
||
|
||
|
||
|
||
</div>
|
||
</article>
|
||
|
||
|
||
</div>
|
||
</article>
|
||
|
||
</section>
|
||
|
||
<section data-accordion>
|
||
|
||
<article data-accordion>
|
||
<button data-control> Universal Control Plane</button>
|
||
<div data-content>
|
||
|
||
|
||
<a data-link href="../../../../ucp/overview/" class=""> Universal Control Plane overview</a>
|
||
|
||
|
||
|
||
<a data-link href="../../../../ucp/install-sandbox/" class=""> Evaluate UCP in a sandbox</a>
|
||
|
||
|
||
|
||
<a data-link href="../../../../ucp/architecture/" class=""> Architecture</a>
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> Installation</button>
|
||
<div data-content>
|
||
|
||
|
||
<a data-link href="../../../../ucp/installation/system-requirements/" class=""> System requirements</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../ucp/installation/plan-production-install/" class=""> Plan a production installation</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../ucp/installation/install-production/" class=""> Install UCP for production</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../ucp/installation/install-offline/" class=""> Install offline</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../ucp/installation/license/" class=""> License UCP</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../ucp/installation/upgrade/" class=""> Upgrade UCP</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../ucp/installation/uninstall/" class=""> Uninstall UCP</a>
|
||
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> UCP tool reference</button>
|
||
<div data-content>
|
||
|
||
<a data-link href="../../../../ucp/reference/backup/" class=""> backup</a>
|
||
|
||
<a data-link href="../../../../ucp/reference/dump-certs/" class=""> dump-certs</a>
|
||
|
||
<a data-link href="../../../../ucp/reference/engine-discovery/" class=""> engine-discovery</a>
|
||
|
||
<a data-link href="../../../../ucp/reference/fingerprint/" class=""> fingerprint</a>
|
||
|
||
<a data-link href="../../../../ucp/reference/help/" class=""> help</a>
|
||
|
||
<a data-link href="../../../../ucp/reference/id/" class=""> id</a>
|
||
|
||
<a data-link href="../../../../ucp/reference/images/" class=""> images</a>
|
||
|
||
<a data-link href="../../../../ucp/reference/install/" class=""> install</a>
|
||
|
||
<a data-link href="../../../../ucp/reference/join/" class=""> join</a>
|
||
|
||
<a data-link href="../../../../ucp/reference/regen-certs/" class=""> regen-certs.md</a>
|
||
|
||
<a data-link href="../../../../ucp/reference/restart/" class=""> restart</a>
|
||
|
||
<a data-link href="../../../../ucp/reference/restore/" class=""> restore</a>
|
||
|
||
<a data-link href="../../../../ucp/reference/stop/" class=""> stop</a>
|
||
|
||
<a data-link href="../../../../ucp/reference/uninstall/" class=""> uninstall</a>
|
||
|
||
<a data-link href="../../../../ucp/reference/upgrade/" class=""> upgrade</a>
|
||
|
||
</div>
|
||
</article>
|
||
|
||
|
||
|
||
</div>
|
||
</article>
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> Access UCP</button>
|
||
<div data-content>
|
||
|
||
|
||
<a data-link href="../../../../ucp/access-ucp/web-based-access/" class=""> Web-based access</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../ucp/access-ucp/cli-based-access/" class=""> CLI-based access</a>
|
||
|
||
|
||
|
||
</div>
|
||
</article>
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> Configuration</button>
|
||
<div data-content>
|
||
|
||
|
||
<a data-link href="../../../../ucp/configuration/multi-host-networking/" class=""> Set up container networking</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../ucp/configuration/dtr-integration/" class=""> Integrate with Docker Trusted Registry</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../ucp/configuration/configure-logs/" class=""> Configure UCP logging</a>
|
||
|
||
|
||
|
||
</div>
|
||
</article>
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> Monitor and troubleshoot</button>
|
||
<div data-content>
|
||
|
||
|
||
<a data-link href="../../../../ucp/monitor/monitor-ucp/" class=""> Monitor your cluster</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../ucp/monitor/troubleshoot-ucp/" class=""> Troubleshoot your cluster</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../ucp/monitor/troubleshoot-configurations/" class=""> Troubleshoot cluster configurations</a>
|
||
|
||
|
||
|
||
</div>
|
||
</article>
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> High-availability</button>
|
||
<div data-content>
|
||
|
||
|
||
<a data-link href="../../../../ucp/high-availability/set-up-high-availability/" class=""> Set up high availability</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../ucp/high-availability/replicate-cas/" class=""> Replicate CAs for high availability</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../ucp/high-availability/backups-and-disaster-recovery/" class=""> Backups and disaster recovery</a>
|
||
|
||
|
||
|
||
</div>
|
||
</article>
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> User management</button>
|
||
<div data-content>
|
||
|
||
|
||
<a data-link href="../../../../ucp/user-management/manage-users/" class=""> Manage and authorize users</a>
|
||
|
||
|
||
|
||
</div>
|
||
</article>
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> Applications</button>
|
||
<div data-content>
|
||
|
||
|
||
<a data-link href="../../../../ucp/applications/deploy-app-ui/" class=""> Deploy an app from the UI</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../ucp/applications/deploy-app-cli/" class=""> Deploy an app from the CLI</a>
|
||
|
||
|
||
|
||
</div>
|
||
</article>
|
||
|
||
|
||
|
||
<a data-link href="../../../../ucp/support/" class=""> Get support</a>
|
||
|
||
|
||
|
||
<a data-link href="../../../../ucp/release_notes/" class=""> Release Notes</a>
|
||
|
||
|
||
</div>
|
||
</article>
|
||
|
||
</section>
|
||
|
||
<section data-accordion>
|
||
|
||
<article data-accordion>
|
||
<button data-control> Docker Trusted Registry</button>
|
||
<div data-content>
|
||
|
||
|
||
<a data-link href="../../../../docker-trusted-registry/overview/" class=""> Docker Trusted Registry overview</a>
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-trusted-registry/quick-start/" class=""> Quickstart</a>
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-trusted-registry/architecture/" class=""> Architecture</a>
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> Installation</button>
|
||
<div data-content>
|
||
|
||
|
||
<a data-link href="../../../../docker-trusted-registry/install/system-requirements/" class=""> System requirements</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-trusted-registry/install/install-dtr/" class=""> Install Docker Trusted Registry</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-trusted-registry/install/install-dtr-offline/" class=""> Install offline</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-trusted-registry/install/license/" class=""> License DTR</a>
|
||
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> Upgrade</button>
|
||
<div data-content>
|
||
|
||
<a data-link href="../../../../docker-trusted-registry/install/upgrade/upgrade-major/" class=""> Upgrade from 1.4.3</a>
|
||
|
||
<a data-link href="../../../../docker-trusted-registry/install/upgrade/upgrade-minor/" class=""> Upgrade from 2.0.0</a>
|
||
|
||
</div>
|
||
</article>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-trusted-registry/install/uninstall/" class=""> Uninstall</a>
|
||
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> DTR tool reference</button>
|
||
<div data-content>
|
||
|
||
<a data-link href="../../../../docker-trusted-registry/reference/backup/" class=""> backup</a>
|
||
|
||
<a data-link href="../../../../docker-trusted-registry/reference/dumpcerts/" class=""> dumpcerts</a>
|
||
|
||
<a data-link href="../../../../docker-trusted-registry/reference/install/" class=""> install</a>
|
||
|
||
<a data-link href="../../../../docker-trusted-registry/reference/join/" class=""> join</a>
|
||
|
||
<a data-link href="../../../../docker-trusted-registry/reference/migrate/" class=""> migrate</a>
|
||
|
||
<a data-link href="../../../../docker-trusted-registry/reference/reconfigure/" class=""> reconfigure</a>
|
||
|
||
<a data-link href="../../../../docker-trusted-registry/reference/remove/" class=""> remove</a>
|
||
|
||
<a data-link href="../../../../docker-trusted-registry/reference/restore/" class=""> restore</a>
|
||
|
||
</div>
|
||
</article>
|
||
|
||
|
||
|
||
</div>
|
||
</article>
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> Configuration</button>
|
||
<div data-content>
|
||
|
||
|
||
<a data-link href="../../../../docker-trusted-registry/configure/configuration/" class=""> Configuration overview</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-trusted-registry/configure/config-general/" class=""> Configure general settings</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-trusted-registry/configure/config-security/" class=""> Security configuration</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-trusted-registry/configure/config-storage/" class=""> Storage configuration</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-trusted-registry/configure/config-auth/" class=""> Auth configuration</a>
|
||
|
||
|
||
|
||
</div>
|
||
</article>
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> Monitor and troubleshoot</button>
|
||
<div data-content>
|
||
|
||
|
||
<a data-link href="../../../../docker-trusted-registry/monitor-troubleshoot/monitor/" class=""> Monitor DTR</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-trusted-registry/monitor-troubleshoot/troubleshoot/" class=""> Troubleshoot DTR</a>
|
||
|
||
|
||
|
||
</div>
|
||
</article>
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> High-availability</button>
|
||
<div data-content>
|
||
|
||
|
||
<a data-link href="../../../../docker-trusted-registry/high-availability/high-availability/" class=""> Set up high availability</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-trusted-registry/high-availability/backups-and-disaster-recovery/" class=""> Backups and disaster recovery</a>
|
||
|
||
|
||
|
||
</div>
|
||
</article>
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> User management</button>
|
||
<div data-content>
|
||
|
||
|
||
<a data-link href="../../../../docker-trusted-registry/user-management/permission-levels/" class=""> Permission levels</a>
|
||
|
||
|
||
|
||
</div>
|
||
</article>
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> Repositories and images</button>
|
||
<div data-content>
|
||
|
||
|
||
<a data-link href="../../../../docker-trusted-registry/repos-and-images/create-repo/" class=""> Create a repository</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-trusted-registry/repos-and-images/push-and-pull-images/" class=""> Push and pull images</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-trusted-registry/repos-and-images/delete-images/" class=""> Delete images</a>
|
||
|
||
|
||
|
||
</div>
|
||
</article>
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> DTR APIs</button>
|
||
<div data-content>
|
||
|
||
|
||
<a data-link href="../../../../apidocs/overview/" class=""> Overview</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../apidocs/v1.3.3/" class=""> v1.3.3 API</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../apidocs/v1.4.0/" class=""> v1.4.0 API</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../apidocs/v2.0.0/" class=""> v2.0.0 API</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../apidocs/v2.0.1/" class=""> v2.0.1 API</a>
|
||
|
||
|
||
|
||
</div>
|
||
</article>
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> Release notes</button>
|
||
<div data-content>
|
||
|
||
|
||
<a data-link href="../../../../docker-trusted-registry/release-notes/release-notes/" class=""> Trusted Registry release notes</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-trusted-registry/release-notes/prior-release-notes/" class=""> Prior Trusted Registry release notes</a>
|
||
|
||
|
||
|
||
</div>
|
||
</article>
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-trusted-registry/support/" class=""> Get support</a>
|
||
|
||
|
||
</div>
|
||
</article>
|
||
|
||
</section>
|
||
|
||
<section data-accordion>
|
||
|
||
<article data-accordion>
|
||
<button data-control> Docker Cloud</button>
|
||
<div data-content>
|
||
|
||
|
||
<a data-link href="../../../../docker-cloud/overview/" class=""> Docker Cloud Overview</a>
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-cloud/dockerid/" class=""> Docker ID and Settings</a>
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> Getting Started</button>
|
||
<div data-content>
|
||
|
||
|
||
<a data-link href="../../../../docker-cloud/getting-started/intro_cloud/" class=""> Introducing Docker Cloud</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-cloud/getting-started/connect-infra/" class=""> Link to your Infrastructure</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-cloud/getting-started/your_first_node/" class=""> Deploy your first node</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-cloud/getting-started/your_first_service/" class=""> Deploy your first service</a>
|
||
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> Deploy an application</button>
|
||
<div data-content>
|
||
|
||
<a data-link href="../../../../docker-cloud/getting-started/deploy-app/1_introduction/" class=""> Introduction to Deploying an app in Docker Cloud</a>
|
||
|
||
<a data-link href="../../../../docker-cloud/getting-started/deploy-app/2_set_up/" class=""> Set up your environment</a>
|
||
|
||
<a data-link href="../../../../docker-cloud/getting-started/deploy-app/3_prepare_the_app/" class=""> Prepare the application</a>
|
||
|
||
<a data-link href="../../../../docker-cloud/getting-started/deploy-app/4_push_to_cloud_registry/" class=""> Push the image to Docker Cloud's Registry</a>
|
||
|
||
<a data-link href="../../../../docker-cloud/getting-started/deploy-app/5_deploy_the_app_as_a_service/" class=""> Deploy the app as a Docker Cloud service</a>
|
||
|
||
<a data-link href="../../../../docker-cloud/getting-started/deploy-app/6_define_environment_variables/" class=""> Define environment variables</a>
|
||
|
||
<a data-link href="../../../../docker-cloud/getting-started/deploy-app/7_scale_the_service/" class=""> Scale the service</a>
|
||
|
||
<a data-link href="../../../../docker-cloud/getting-started/deploy-app/8_view_logs/" class=""> View service logs</a>
|
||
|
||
<a data-link href="../../../../docker-cloud/getting-started/deploy-app/9_load-balance_the_service/" class=""> Load-balance the service</a>
|
||
|
||
<a data-link href="../../../../docker-cloud/getting-started/deploy-app/10_provision_a_data_backend_for_your_service/" class=""> Provision a data backend for the service</a>
|
||
|
||
<a data-link href="../../../../docker-cloud/getting-started/deploy-app/11_service_stacks/" class=""> Stackfiles for your service</a>
|
||
|
||
<a data-link href="../../../../docker-cloud/getting-started/deploy-app/12_data_management_with_volumes/" class=""> Data management with Volumes</a>
|
||
|
||
</div>
|
||
</article>
|
||
|
||
|
||
|
||
</div>
|
||
</article>
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> Manage Applications</button>
|
||
<div data-content>
|
||
|
||
|
||
<a data-link href="../../../../docker-cloud/apps/deploy-to-cloud-btn/" class=""> Add a Deploy to Docker Cloud button</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-cloud/apps/auto-destroy/" class=""> Automatic container destroy</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-cloud/apps/autorestart/" class=""> Automatic container restart</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-cloud/apps/auto-redeploy/" class=""> Automatic service redeploy</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-cloud/apps/load-balance-hello-world/" class=""> Create a proxy or load balancer</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-cloud/apps/deploy-tags/" class=""> Deployment tags</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-cloud/apps/stacks/" class=""> Manage service stacks</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-cloud/apps/ports/" class=""> Publish and expose service or container ports</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-cloud/apps/service-redeploy/" class=""> Redeploy running services</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-cloud/apps/service-scaling/" class=""> Scale your service</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-cloud/apps/api-roles/" class=""> Service API Roles</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-cloud/apps/service-links/" class=""> Service discovery and links</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-cloud/apps/stack-yaml-reference/" class=""> Stack YAML reference</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-cloud/apps/triggers/" class=""> Use triggers</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-cloud/apps/volumes/" class=""> Work with data volumes</a>
|
||
|
||
|
||
|
||
</div>
|
||
</article>
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> Manage Builds and Images</button>
|
||
<div data-content>
|
||
|
||
|
||
<a data-link href="../../../../docker-cloud/builds/automated-build/" class=""> Automated builds</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-cloud/builds/automated-testing/" class=""> Automated repository tests</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-cloud/builds/repos/" class=""> Docker Cloud repositories</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-cloud/builds/link-source/" class=""> Link to a source code repository</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-cloud/builds/push-images/" class=""> Push images to Docker Cloud</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-cloud/builds/image-scan/" class=""> Security Scanning in Docker Cloud</a>
|
||
|
||
|
||
|
||
</div>
|
||
</article>
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> Manage Infrastructure</button>
|
||
<div data-content>
|
||
|
||
|
||
<a data-link href="../../../../docker-cloud/infrastructure/deployment-strategies/" class=""> Container distribution strategies</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-cloud/infrastructure/link-aws/" class=""> Link to Amazon Web Services hosts</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-cloud/infrastructure/link-do/" class=""> Link to DigitalOcean hosts</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-cloud/infrastructure/link-azure/" class=""> Link to Microsoft Azure hosts</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-cloud/infrastructure/link-packet/" class=""> Link to Packet hosts</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-cloud/infrastructure/link-softlayer/" class=""> Link to SoftLayer hosts</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-cloud/infrastructure/ssh-into-a-node/" class=""> SSH into a Docker Cloud-managed node</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-cloud/infrastructure/docker-upgrade/" class=""> Upgrade Docker Engine on a node</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-cloud/infrastructure/byoh/" class=""> Use the Docker Cloud Agent</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-cloud/infrastructure/cloud-on-packet.net-faq/" class=""> Using Docker Cloud and Packet.net</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-cloud/infrastructure/cloud-on-aws-faq/" class=""> Using Docker Cloud on AWS</a>
|
||
|
||
|
||
|
||
</div>
|
||
</article>
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-cloud/slack-integration/" class=""> Docker Cloud notifications in Slack</a>
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-cloud/installing-cli/" class=""> The Docker Cloud CLI</a>
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-cloud/docker-errors-faq/" class=""> Known Issues in Docker Cloud</a>
|
||
|
||
|
||
|
||
<a data-link href="../../../../apidocs/docker-cloud/" class=""> API reference</a>
|
||
|
||
|
||
|
||
<a data-link href="../../../../docker-cloud/release-notes/" class=""> Release Notes</a>
|
||
|
||
|
||
</div>
|
||
</article>
|
||
|
||
</section>
|
||
|
||
<section data-accordion>
|
||
|
||
<article data-accordion>
|
||
<button data-control> Docker Machine</button>
|
||
<div data-content>
|
||
|
||
|
||
<a data-link href="../../../../machine/overview/" class=""> Machine Overview</a>
|
||
|
||
|
||
|
||
<a data-link href="../../../../machine/install-machine/" class=""> Install Machine</a>
|
||
|
||
|
||
|
||
<a data-link href="../../../../machine/get-started/" class=""> Get started with a local VM</a>
|
||
|
||
|
||
|
||
<a data-link href="../../../../machine/get-started-cloud/" class=""> Provision hosts in the cloud</a>
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> Learn by example</button>
|
||
<div data-content>
|
||
|
||
|
||
<a data-link href="../../../../machine/examples/ocean/" class=""> Provision Digital Ocean Droplets</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../machine/examples/aws/" class=""> Provision AWS EC2 Instances</a>
|
||
|
||
|
||
|
||
</div>
|
||
</article>
|
||
|
||
|
||
|
||
<a data-link href="../../../../machine/concepts/" class=""> Machine concepts and help</a>
|
||
|
||
|
||
|
||
<a data-link href="../../../../machine/migrate-to-machine/" class=""> Migrate from Boot2Docker to Machine</a>
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> Command line reference</button>
|
||
<div data-content>
|
||
|
||
|
||
<a data-link href="../../../../machine/reference/active/" class=""> active</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../machine/reference/config/" class=""> config</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../machine/reference/create/" class=""> create</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../machine/reference/env/" class=""> env</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../machine/reference/help/" class=""> help</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../machine/reference/inspect/" class=""> inspect</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../machine/reference/ip/" class=""> ip</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../machine/reference/kill/" class=""> kill</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../machine/reference/ls/" class=""> ls</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../machine/reference/provision/" class=""> provision</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../machine/reference/regenerate-certs/" class=""> regenerate-certs</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../machine/reference/restart/" class=""> restart</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../machine/reference/rm/" class=""> rm</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../machine/reference/scp/" class=""> scp</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../machine/reference/ssh/" class=""> ssh</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../machine/reference/start/" class=""> start</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../machine/reference/status/" class=""> status</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../machine/reference/stop/" class=""> stop</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../machine/reference/upgrade/" class=""> upgrade</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../machine/reference/url/" class=""> url</a>
|
||
|
||
|
||
|
||
</div>
|
||
</article>
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> Drivers</button>
|
||
<div data-content>
|
||
|
||
|
||
<a data-link href="../../../../machine/drivers/os-base/" class=""> Driver options and operating system defaults</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../machine/drivers/aws/" class=""> Amazon Web Services</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../machine/drivers/digital-ocean/" class=""> Digital Ocean</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../machine/drivers/generic/" class=""> Generic</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../machine/drivers/gce/" class=""> Google Compute Engine</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../machine/drivers/soft-layer/" class=""> IBM Softlayer</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../machine/drivers/azure/" class=""> Microsoft Azure</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../machine/drivers/hyper-v/" class=""> Microsoft Hyper-V</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../machine/drivers/openstack/" class=""> OpenStack</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../machine/drivers/virtualbox/" class=""> Oracle VirtualBox</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../machine/drivers/rackspace/" class=""> Rackspace</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../machine/drivers/vm-fusion/" class=""> VMware Fusion</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../machine/drivers/vm-cloud/" class=""> VMware vCloud Air</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../machine/drivers/vsphere/" class=""> VMware vSphere</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../machine/drivers/exoscale/" class=""> exoscale</a>
|
||
|
||
|
||
|
||
</div>
|
||
</article>
|
||
|
||
|
||
|
||
<a data-link href="../../../../machine/completion/" class=""> Command-line Completion</a>
|
||
|
||
|
||
</div>
|
||
</article>
|
||
|
||
</section>
|
||
|
||
<section data-accordion>
|
||
|
||
<article data-accordion>
|
||
<button data-control> Docker Toolbox</button>
|
||
<div data-content>
|
||
|
||
|
||
<a data-link href="../../../../toolbox/overview/" class=""> Toolbox Overview</a>
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> Kitematic</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>
|
||
|
||
|
||
|
||
<a data-link href="../../../../faqs/troubleshoot/" class=""> Troubleshooting</a>
|
||
|
||
|
||
</div>
|
||
</article>
|
||
|
||
</section>
|
||
|
||
<section data-accordion>
|
||
|
||
<article data-accordion>
|
||
<button data-control> Component Projects</button>
|
||
<div data-content>
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> Docker Registry</button>
|
||
<div data-content>
|
||
|
||
|
||
<a data-link href="../../../../registry/" class=""> Registry Overview</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=""> Configuring a registry</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../registry/notifications/" class=""> Working with notifications</a>
|
||
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> Recipes</button>
|
||
<div data-content>
|
||
|
||
<a data-link href="../../../../registry/recipes/" class=""> Recipes Overview</a>
|
||
|
||
<a data-link href="../../../../registry/recipes/apache/" class=""> Authenticating proxy with apache</a>
|
||
|
||
<a data-link href="../../../../registry/recipes/nginx/" class=""> Authenticating proxy with nginx</a>
|
||
|
||
<a data-link href="../../../../registry/recipes/building/" class=""> Build instructions</a>
|
||
|
||
<a data-link href="../../../../registry/recipes/mirror/" class=""> Mirroring Docker Hub</a>
|
||
|
||
<a data-link href="../../../../registry/recipes/osx-setup-guide/" class=""> Running on OS X</a>
|
||
|
||
</div>
|
||
</article>
|
||
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> Reference</button>
|
||
<div data-content>
|
||
|
||
<a data-link href="../../../../registry/spec/" class=""> Reference Overview</a>
|
||
|
||
<a data-link href="../../../../registry/spec/api/" class=""> HTTP API V2</a>
|
||
|
||
<a data-link href="../../../../registry/spec/manifest-v2-1/" class=""> Image Manifest V 2, Schema 1 </a>
|
||
|
||
<a data-link href="../../../../registry/spec/manifest-v2-2/" class=""> Image Manifest V 2, Schema 2 </a>
|
||
|
||
<a data-link href="../../../../registry/garbage-collection/" class=""> Garbage Collection</a>
|
||
|
||
<a data-link href="../../../../registry/insecure/" class=""> Testing an insecure registry</a>
|
||
|
||
<a data-link href="../../../../registry/compatibility/" class=""> Compatibility</a>
|
||
|
||
<a data-link href="../../../../registry/spec/auth/" class=""> Docker Registry Token Authentication</a>
|
||
|
||
<a data-link href="../../../../registry/spec/auth/jwt/" class=""> Token Authentication Implementation</a>
|
||
|
||
<a data-link href="../../../../registry/spec/auth/oauth/" class=""> Oauth2 Token Authentication</a>
|
||
|
||
<a data-link href="../../../../registry/spec/auth/scope/" class=""> Token Scope Documentation</a>
|
||
|
||
<a data-link href="../../../../registry/spec/auth/token/" class=""> Token Authentication Specification</a>
|
||
|
||
</div>
|
||
</article>
|
||
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> Storage Drivers</button>
|
||
<div data-content>
|
||
|
||
<a data-link href="../../../../registry/storage-drivers/" class=""> Storage Driver overview</a>
|
||
|
||
<a data-link href="../../../../registry/storage-drivers/oss/" class=""> Aliyun OSS storage driver</a>
|
||
|
||
<a data-link href="../../../../registry/storage-drivers/filesystem/" class=""> Filesystem storage driver</a>
|
||
|
||
<a data-link href="../../../../registry/storage-drivers/gcs/" class=""> GCS storage driver</a>
|
||
|
||
<a data-link href="../../../../registry/storage-drivers/inmemory/" class=""> In-memory storage driver</a>
|
||
|
||
<a data-link href="../../../../registry/storage-drivers/azure/" class=""> Microsoft Azure storage driver</a>
|
||
|
||
<a data-link href="../../../../registry/storage-drivers/s3/" class=""> S3 storage driver</a>
|
||
|
||
<a data-link href="../../../../registry/storage-drivers/swift/" class=""> Swift storage driver</a>
|
||
|
||
</div>
|
||
</article>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../registry/help/" class=""> Getting help</a>
|
||
|
||
|
||
|
||
</div>
|
||
</article>
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> Docker Notary</button>
|
||
<div data-content>
|
||
|
||
|
||
<a data-link href="../../../../notary/getting_started/" class=""> Getting started with Notary</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../notary/advanced_usage/" class=""> Use the Notary client</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../notary/service_architecture/" class=""> Understand the service architecture</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../notary/running_a_service/" class=""> Running a Notary service</a>
|
||
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> Notary Configuration</button>
|
||
<div data-content>
|
||
|
||
<a data-link href="../../../../notary/reference/server-config/" class=""> Server Configuration</a>
|
||
|
||
<a data-link href="../../../../notary/reference/signer-config/" class=""> Signer Configuration</a>
|
||
|
||
<a data-link href="../../../../notary/reference/client-config/" class=""> Client Configuration</a>
|
||
|
||
<a data-link href="../../../../notary/reference/common-configs/" class=""> Common Server and Signer Configurations</a>
|
||
|
||
</div>
|
||
</article>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../notary/changelog/" class=""> Notary Changelog</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/code/" class=""> Quickstart contribution</a>
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> Set up for Engine Development</button>
|
||
<div data-content>
|
||
|
||
|
||
<a data-link href="../../../../opensource/project/who-written-for/" class=""> README first</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../opensource/project/software-required/" class=""> Get the required software</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../opensource/project/software-req-win/" class=""> Set up for development on Windows</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../opensource/project/set-up-git/" class=""> Configure Git for contributing</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../opensource/project/set-up-dev-env/" class=""> Work with a development container</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../opensource/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="../../../../opensource/workflow/make-a-contribution/" class=""> Understand how to contribute</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../opensource/workflow/find-an-issue/" class=""> Find and claim an issue</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../opensource/workflow/work-issue/" class=""> Work on your issue</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../opensource/workflow/create-pr/" class=""> Create a pull request (PR)</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../opensource/workflow/review-pr/" class=""> Participate in the PR review</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../opensource/workflow/advanced-contributing/" class=""> Advanced contributing</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../opensource/workflow/coding-style/" class=""> Coding style checklist</a>
|
||
|
||
|
||
|
||
</div>
|
||
</article>
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> Other ways to contribute</button>
|
||
<div data-content>
|
||
|
||
|
||
<a data-link href="../../../../opensource/ways/meetups/" class=""> Organize a Docker Meetup</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../opensource/ways/issues/" class=""> Organize our issues</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../opensource/ways/community/" class=""> Support the community</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../opensource/ways/test/" class=""> Testing contributions</a>
|
||
|
||
|
||
|
||
</div>
|
||
</article>
|
||
|
||
|
||
|
||
<article data-accordion>
|
||
<button data-control> Contribute to Kitematic</button>
|
||
<div data-content>
|
||
|
||
|
||
<a data-link href="../../../../opensource/kitematic/get_started/" class=""> Get started</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../opensource/kitematic/find_issue/" class=""> Find an issue</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../opensource/kitematic/set_up_dev/" class=""> Set up for Kitematic development</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../opensource/kitematic/work_issue/" class=""> Develop in Kitematic (work on an issue)</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../opensource/kitematic/create_pr/" class=""> Create a pull request (PR)</a>
|
||
|
||
|
||
|
||
|
||
<a data-link href="../../../../opensource/kitematic/next_steps/" class=""> Where to learn more</a>
|
||
|
||
|
||
|
||
</div>
|
||
</article>
|
||
|
||
|
||
|
||
<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="../../../../opensource/FAQ/" class=""> FAQ for contributors</a>
|
||
|
||
|
||
|
||
<a data-link href="../../../../opensource/get-help/" class=""> Where to chat or get help</a>
|
||
|
||
|
||
|
||
<a data-link href="../../../../opensource/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="../../../../engine/reference/glossary/" class=""> Docker Glossary</a>
|
||
|
||
|
||
</div>
|
||
</article>
|
||
|
||
</section>
|
||
|
||
<section data-accordion>
|
||
|
||
<article data-accordion>
|
||
<button style="visibility: hidden" data-control> Docs archive</button>
|
||
<div data-content>
|
||
|
||
|
||
<a data-link href="http://docs.docker.com/v1.10/" class=""> Version 1.10</a>
|
||
|
||
|
||
|
||
<a data-link href="http://docs.docker.com/v1.9/" class=""> Version 1.9</a>
|
||
|
||
|
||
|
||
<a data-link href="http://docs.docker.com/v1.8/" class=""> Version 1.8</a>
|
||
|
||
|
||
|
||
<a data-link href="http://docs.docker.com/v1.7/" class=""> Version 1.7</a>
|
||
|
||
|
||
|
||
<a data-link href="http://docs.docker.com/v1.6/" class=""> Version 1.6</a>
|
||
|
||
|
||
|
||
<a data-link href="http://docs.docker.com/v1.5/" class=""> Version 1.5</a>
|
||
|
||
|
||
|
||
<a data-link href="http://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="daemon">daemon</h1>
|
||
|
||
<pre><code>Usage: docker daemon [OPTIONS]
|
||
|
||
A self-sufficient runtime for linux containers.
|
||
|
||
Options:
|
||
--api-cors-header="" Set CORS headers in the remote API
|
||
--authorization-plugin=[] Set authorization plugins to load
|
||
-b, --bridge="" Attach containers to a network bridge
|
||
--bip="" Specify network bridge IP
|
||
--cgroup-parent= Set parent cgroup for all containers
|
||
--cluster-store="" URL of the distributed storage backend
|
||
--cluster-advertise="" Address of the daemon instance on the cluster
|
||
--cluster-store-opt=map[] Set cluster options
|
||
--config-file=/etc/docker/daemon.json Daemon configuration file
|
||
--containerd Path to containerd socket
|
||
-D, --debug Enable debug mode
|
||
--default-gateway="" Container default gateway IPv4 address
|
||
--default-gateway-v6="" Container default gateway IPv6 address
|
||
--dns=[] DNS server to use
|
||
--dns-opt=[] DNS options to use
|
||
--dns-search=[] DNS search domains to use
|
||
--default-ulimit=[] Set default ulimit settings for containers
|
||
--exec-opt=[] Set runtime execution options
|
||
--exec-root="/var/run/docker" Root directory for execution state files
|
||
--fixed-cidr="" IPv4 subnet for fixed IPs
|
||
--fixed-cidr-v6="" IPv6 subnet for fixed IPs
|
||
-G, --group="docker" Group for the unix socket
|
||
-g, --graph="/var/lib/docker" Root of the Docker runtime
|
||
-H, --host=[] Daemon socket(s) to connect to
|
||
--help Print usage
|
||
--icc=true Enable inter-container communication
|
||
--insecure-registry=[] Enable insecure registry communication
|
||
--ip=0.0.0.0 Default IP when binding container ports
|
||
--ip-forward=true Enable net.ipv4.ip_forward
|
||
--ip-masq=true Enable IP masquerading
|
||
--iptables=true Enable addition of iptables rules
|
||
--ipv6 Enable IPv6 networking
|
||
-l, --log-level="info" Set the logging level
|
||
--label=[] Set key=value labels to the daemon
|
||
--log-driver="json-file" Default driver for container logs
|
||
--log-opt=[] Log driver specific options
|
||
--mtu=0 Set the containers network MTU
|
||
--disable-legacy-registry Do not contact legacy registries
|
||
-p, --pidfile="/var/run/docker.pid" Path to use for daemon PID file
|
||
--raw-logs Full timestamps without ANSI coloring
|
||
--registry-mirror=[] Preferred Docker registry mirror
|
||
-s, --storage-driver="" Storage driver to use
|
||
--selinux-enabled Enable selinux support
|
||
--storage-opt=[] Set storage driver options
|
||
--tls Use TLS; implied by --tlsverify
|
||
--tlscacert="~/.docker/ca.pem" Trust certs signed only by this CA
|
||
--tlscert="~/.docker/cert.pem" Path to TLS certificate file
|
||
--tlskey="~/.docker/key.pem" Path to TLS key file
|
||
--tlsverify Use TLS and verify the remote
|
||
--userns-remap="default" Enable user namespace remapping
|
||
--userland-proxy=true Use userland proxy for loopback traffic
|
||
</code></pre>
|
||
|
||
<p>Options with [] may be specified multiple times.</p>
|
||
|
||
<p>The Docker daemon is the persistent process that manages containers. Docker
|
||
uses the same binary for both the daemon and client. To run the daemon you
|
||
type <code>docker daemon</code>.</p>
|
||
|
||
<p>To run the daemon with debug output, use <code>docker daemon -D</code>.</p>
|
||
|
||
<h2 id="daemon-socket-option">Daemon socket option</h2>
|
||
|
||
<p>The Docker daemon can listen for <a href="../../../../engine/reference/api/docker_remote_api/">Docker Remote API</a>
|
||
requests via three different types of Socket: <code>unix</code>, <code>tcp</code>, and <code>fd</code>.</p>
|
||
|
||
<p>By default, a <code>unix</code> domain socket (or IPC socket) is created at
|
||
<code>/var/run/docker.sock</code>, requiring either <code>root</code> permission, or <code>docker</code> group
|
||
membership.</p>
|
||
|
||
<p>If you need to access the Docker daemon remotely, you need to enable the <code>tcp</code>
|
||
Socket. Beware that the default setup provides un-encrypted and
|
||
un-authenticated direct access to the Docker daemon - and should be secured
|
||
either using the <a href="../../../../engine/security/https/">built in HTTPS encrypted socket</a>, or by
|
||
putting a secure web proxy in front of it. You can listen on port <code>2375</code> on all
|
||
network interfaces with <code>-H tcp://0.0.0.0:2375</code>, or on a particular network
|
||
interface using its IP address: <code>-H tcp://192.168.59.103:2375</code>. It is
|
||
conventional to use port <code>2375</code> for un-encrypted, and port <code>2376</code> for encrypted
|
||
communication with the daemon.</p>
|
||
|
||
<blockquote>
|
||
<p><strong>Note:</strong>
|
||
If you’re using an HTTPS encrypted socket, keep in mind that only
|
||
TLS1.0 and greater are supported. Protocols SSLv3 and under are not
|
||
supported anymore for security reasons.</p>
|
||
</blockquote>
|
||
|
||
<p>On Systemd based systems, you can communicate with the daemon via
|
||
<a href="http://0pointer.de/blog/projects/socket-activation.html">Systemd socket activation</a>,
|
||
use <code>docker daemon -H fd://</code>. Using <code>fd://</code> will work perfectly for most setups but
|
||
you can also specify individual sockets: <code>docker daemon -H fd://3</code>. If the
|
||
specified socket activated files aren’t found, then Docker will exit. You can
|
||
find examples of using Systemd socket activation with Docker and Systemd in the
|
||
<a href="https://github.com/docker/docker/tree/master/contrib/init/systemd/">Docker source tree</a>.</p>
|
||
|
||
<p>You can configure the Docker daemon to listen to multiple sockets at the same
|
||
time using multiple <code>-H</code> options:</p>
|
||
|
||
<pre><code># listen using the default unix socket, and on 2 specific IP addresses on this host.
|
||
docker daemon -H unix:///var/run/docker.sock -H tcp://192.168.59.106 -H tcp://10.10.10.2
|
||
</code></pre>
|
||
|
||
<p>The Docker client will honor the <code>DOCKER_HOST</code> environment variable to set the
|
||
<code>-H</code> flag for the client.</p>
|
||
|
||
<pre><code>$ docker -H tcp://0.0.0.0:2375 ps
|
||
# or
|
||
$ export DOCKER_HOST="tcp://0.0.0.0:2375"
|
||
$ docker ps
|
||
# both are equal
|
||
</code></pre>
|
||
|
||
<p>Setting the <code>DOCKER_TLS_VERIFY</code> environment variable to any value other than
|
||
the empty string is equivalent to setting the <code>--tlsverify</code> flag. The following
|
||
are equivalent:</p>
|
||
|
||
<pre><code>$ docker --tlsverify ps
|
||
# or
|
||
$ export DOCKER_TLS_VERIFY=1
|
||
$ docker ps
|
||
</code></pre>
|
||
|
||
<p>The Docker client will honor the <code>HTTP_PROXY</code>, <code>HTTPS_PROXY</code>, and <code>NO_PROXY</code>
|
||
environment variables (or the lowercase versions thereof). <code>HTTPS_PROXY</code> takes
|
||
precedence over <code>HTTP_PROXY</code>.</p>
|
||
|
||
<h3 id="daemon-storage-driver-option">Daemon storage-driver option</h3>
|
||
|
||
<p>The Docker daemon has support for several different image layer storage
|
||
drivers: <code>aufs</code>, <code>devicemapper</code>, <code>btrfs</code>, <code>zfs</code> and <code>overlay</code>.</p>
|
||
|
||
<p>The <code>aufs</code> driver is the oldest, but is based on a Linux kernel patch-set that
|
||
is unlikely to be merged into the main kernel. These are also known to cause
|
||
some serious kernel crashes. However, <code>aufs</code> is also the only storage driver
|
||
that allows containers to share executable and shared library memory, so is a
|
||
useful choice when running thousands of containers with the same program or
|
||
libraries.</p>
|
||
|
||
<p>The <code>devicemapper</code> driver uses thin provisioning and Copy on Write (CoW)
|
||
snapshots. For each devicemapper graph location – typically
|
||
<code>/var/lib/docker/devicemapper</code> – a thin pool is created based on two block
|
||
devices, one for data and one for metadata. By default, these block devices
|
||
are created automatically by using loopback mounts of automatically created
|
||
sparse files. Refer to <a href="#storage-driver-options">Storage driver options</a> below
|
||
for a way how to customize this setup.
|
||
<a href="http://jpetazzo.github.io/2014/01/29/docker-device-mapper-resize/">~jpetazzo/Resizing Docker containers with the Device Mapper plugin</a>
|
||
article explains how to tune your existing setup without the use of options.</p>
|
||
|
||
<p>The <code>btrfs</code> driver is very fast for <code>docker build</code> - but like <code>devicemapper</code>
|
||
does not share executable memory between devices. Use
|
||
<code>docker daemon -s btrfs -g /mnt/btrfs_partition</code>.</p>
|
||
|
||
<p>The <code>zfs</code> driver is probably not as fast as <code>btrfs</code> but has a longer track record
|
||
on stability. Thanks to <code>Single Copy ARC</code> shared blocks between clones will be
|
||
cached only once. Use <code>docker daemon -s zfs</code>. To select a different zfs filesystem
|
||
set <code>zfs.fsname</code> option as described in <a href="#storage-driver-options">Storage driver options</a>.</p>
|
||
|
||
<p>The <code>overlay</code> is a very fast union filesystem. It is now merged in the main
|
||
Linux kernel as of <a href="https://lkml.org/lkml/2014/10/26/137">3.18.0</a>. Call
|
||
<code>docker daemon -s overlay</code> to use it.</p>
|
||
|
||
<blockquote>
|
||
<p><strong>Note:</strong>
|
||
As promising as <code>overlay</code> is, the feature is still quite young and should not
|
||
be used in production. Most notably, using <code>overlay</code> can cause excessive
|
||
inode consumption (especially as the number of images grows), as well as
|
||
being incompatible with the use of RPMs.</p>
|
||
|
||
<p><strong>Note:</strong>
|
||
It is currently unsupported on <code>btrfs</code> or any Copy on Write filesystem
|
||
and should only be used over <code>ext4</code> partitions.</p>
|
||
</blockquote>
|
||
|
||
<h3 id="storage-driver-options">Storage driver options</h3>
|
||
|
||
<p>Particular storage-driver can be configured with options specified with
|
||
<code>--storage-opt</code> flags. Options for <code>devicemapper</code> are prefixed with <code>dm</code> and
|
||
options for <code>zfs</code> start with <code>zfs</code>.</p>
|
||
|
||
<ul>
|
||
<li><p><code>dm.thinpooldev</code></p>
|
||
|
||
<p>Specifies a custom block storage device to use for the thin pool.</p>
|
||
|
||
<p>If using a block device for device mapper storage, it is best to use <code>lvm</code>
|
||
to create and manage the thin-pool volume. This volume is then handed to Docker
|
||
to exclusively create snapshot volumes needed for images and containers.</p>
|
||
|
||
<p>Managing the thin-pool outside of Engine makes for the most feature-rich
|
||
method of having Docker utilize device mapper thin provisioning as the
|
||
backing storage for Docker containers. The highlights of the lvm-based
|
||
thin-pool management feature include: automatic or interactive thin-pool
|
||
resize support, dynamically changing thin-pool features, automatic thinp
|
||
metadata checking when lvm activates the thin-pool, etc.</p>
|
||
|
||
<p>As a fallback if no thin pool is provided, loopback files are
|
||
created. Loopback is very slow, but can be used without any
|
||
pre-configuration of storage. It is strongly recommended that you do
|
||
not use loopback in production. Ensure your Engine daemon has a
|
||
<code>--storage-opt dm.thinpooldev</code> argument provided.</p>
|
||
|
||
<p>Example use:</p>
|
||
|
||
<pre><code>$ docker daemon \
|
||
--storage-opt dm.thinpooldev=/dev/mapper/thin-pool
|
||
</code></pre></li>
|
||
|
||
<li><p><code>dm.basesize</code></p>
|
||
|
||
<p>Specifies the size to use when creating the base device, which limits the
|
||
size of images and containers. The default value is 10G. Note, thin devices
|
||
are inherently “sparse”, so a 10G device which is mostly empty doesn’t use
|
||
10 GB of space on the pool. However, the filesystem will use more space for
|
||
the empty case the larger the device is.</p>
|
||
|
||
<p>The base device size can be increased at daemon restart which will allow
|
||
all future images and containers (based on those new images) to be of the
|
||
new base device size.</p>
|
||
|
||
<p>Example use:</p>
|
||
|
||
<pre><code>$ docker daemon --storage-opt dm.basesize=50G
|
||
</code></pre>
|
||
|
||
<p>This will increase the base device size to 50G. The Docker daemon will throw an
|
||
error if existing base device size is larger than 50G. A user can use
|
||
this option to expand the base device size however shrinking is not permitted.</p>
|
||
|
||
<p>This value affects the system-wide “base” empty filesystem
|
||
that may already be initialized and inherited by pulled images. Typically,
|
||
a change to this value requires additional steps to take effect:</p>
|
||
|
||
<pre><code>$ sudo service docker stop
|
||
$ sudo rm -rf /var/lib/docker
|
||
$ sudo service docker start
|
||
</code></pre>
|
||
|
||
<p>Example use:</p>
|
||
|
||
<pre><code>$ docker daemon --storage-opt dm.basesize=20G
|
||
</code></pre></li>
|
||
|
||
<li><p><code>dm.loopdatasize</code></p>
|
||
|
||
<blockquote>
|
||
<p><strong>Note</strong>:
|
||
This option configures devicemapper loopback, which should not
|
||
be used in production.</p>
|
||
</blockquote>
|
||
|
||
<p>Specifies the size to use when creating the loopback file for the
|
||
“data” device which is used for the thin pool. The default size is
|
||
100G. The file is sparse, so it will not initially take up this
|
||
much space.</p>
|
||
|
||
<p>Example use:</p>
|
||
|
||
<pre><code>$ docker daemon --storage-opt dm.loopdatasize=200G
|
||
</code></pre></li>
|
||
|
||
<li><p><code>dm.loopmetadatasize</code></p>
|
||
|
||
<blockquote>
|
||
<p><strong>Note</strong>:
|
||
This option configures devicemapper loopback, which should not
|
||
be used in production.</p>
|
||
</blockquote>
|
||
|
||
<p>Specifies the size to use when creating the loopback file for the
|
||
“metadata” device which is used for the thin pool. The default size
|
||
is 2G. The file is sparse, so it will not initially take up
|
||
this much space.</p>
|
||
|
||
<p>Example use:</p>
|
||
|
||
<pre><code>$ docker daemon --storage-opt dm.loopmetadatasize=4G
|
||
</code></pre></li>
|
||
|
||
<li><p><code>dm.fs</code></p>
|
||
|
||
<p>Specifies the filesystem type to use for the base device. The supported
|
||
options are “ext4” and “xfs”. The default is “xfs”</p>
|
||
|
||
<p>Example use:</p>
|
||
|
||
<pre><code>$ docker daemon --storage-opt dm.fs=ext4
|
||
</code></pre></li>
|
||
|
||
<li><p><code>dm.mkfsarg</code></p>
|
||
|
||
<p>Specifies extra mkfs arguments to be used when creating the base device.</p>
|
||
|
||
<p>Example use:</p>
|
||
|
||
<pre><code>$ docker daemon --storage-opt "dm.mkfsarg=-O ^has_journal"
|
||
</code></pre></li>
|
||
|
||
<li><p><code>dm.mountopt</code></p>
|
||
|
||
<p>Specifies extra mount options used when mounting the thin devices.</p>
|
||
|
||
<p>Example use:</p>
|
||
|
||
<pre><code>$ docker daemon --storage-opt dm.mountopt=nodiscard
|
||
</code></pre></li>
|
||
|
||
<li><p><code>dm.datadev</code></p>
|
||
|
||
<p>(Deprecated, use <code>dm.thinpooldev</code>)</p>
|
||
|
||
<p>Specifies a custom blockdevice to use for data for the thin pool.</p>
|
||
|
||
<p>If using a block device for device mapper storage, ideally both datadev and
|
||
metadatadev should be specified to completely avoid using the loopback
|
||
device.</p>
|
||
|
||
<p>Example use:</p>
|
||
|
||
<pre><code>$ docker daemon \
|
||
--storage-opt dm.datadev=/dev/sdb1 \
|
||
--storage-opt dm.metadatadev=/dev/sdc1
|
||
</code></pre></li>
|
||
|
||
<li><p><code>dm.metadatadev</code></p>
|
||
|
||
<p>(Deprecated, use <code>dm.thinpooldev</code>)</p>
|
||
|
||
<p>Specifies a custom blockdevice to use for metadata for the thin pool.</p>
|
||
|
||
<p>For best performance the metadata should be on a different spindle than the
|
||
data, or even better on an SSD.</p>
|
||
|
||
<p>If setting up a new metadata pool it is required to be valid. This can be
|
||
achieved by zeroing the first 4k to indicate empty metadata, like this:</p>
|
||
|
||
<pre><code>$ dd if=/dev/zero of=$metadata_dev bs=4096 count=1
|
||
</code></pre>
|
||
|
||
<p>Example use:</p>
|
||
|
||
<pre><code>$ docker daemon \
|
||
--storage-opt dm.datadev=/dev/sdb1 \
|
||
--storage-opt dm.metadatadev=/dev/sdc1
|
||
</code></pre></li>
|
||
|
||
<li><p><code>dm.blocksize</code></p>
|
||
|
||
<p>Specifies a custom blocksize to use for the thin pool. The default
|
||
blocksize is 64K.</p>
|
||
|
||
<p>Example use:</p>
|
||
|
||
<pre><code>$ docker daemon --storage-opt dm.blocksize=512K
|
||
</code></pre></li>
|
||
|
||
<li><p><code>dm.blkdiscard</code></p>
|
||
|
||
<p>Enables or disables the use of blkdiscard when removing devicemapper
|
||
devices. This is enabled by default (only) if using loopback devices and is
|
||
required to resparsify the loopback file on image/container removal.</p>
|
||
|
||
<p>Disabling this on loopback can lead to <em>much</em> faster container removal
|
||
times, but will make the space used in <code>/var/lib/docker</code> directory not be
|
||
returned to the system for other use when containers are removed.</p>
|
||
|
||
<p>Example use:</p>
|
||
|
||
<pre><code>$ docker daemon --storage-opt dm.blkdiscard=false
|
||
</code></pre></li>
|
||
|
||
<li><p><code>dm.override_udev_sync_check</code></p>
|
||
|
||
<p>Overrides the <code>udev</code> synchronization checks between <code>devicemapper</code> and <code>udev</code>.
|
||
<code>udev</code> is the device manager for the Linux kernel.</p>
|
||
|
||
<p>To view the <code>udev</code> sync support of a Docker daemon that is using the
|
||
<code>devicemapper</code> driver, run:</p>
|
||
|
||
<pre><code>$ docker info
|
||
[...]
|
||
Udev Sync Supported: true
|
||
[...]
|
||
</code></pre>
|
||
|
||
<p>When <code>udev</code> sync support is <code>true</code>, then <code>devicemapper</code> and udev can
|
||
coordinate the activation and deactivation of devices for containers.</p>
|
||
|
||
<p>When <code>udev</code> sync support is <code>false</code>, a race condition occurs between
|
||
the<code>devicemapper</code> and <code>udev</code> during create and cleanup. The race condition
|
||
results in errors and failures. (For information on these failures, see
|
||
<a href="https://github.com/docker/docker/issues/4036">docker#4036</a>)</p>
|
||
|
||
<p>To allow the <code>docker</code> daemon to start, regardless of <code>udev</code> sync not being
|
||
supported, set <code>dm.override_udev_sync_check</code> to true:</p>
|
||
|
||
<pre><code>$ docker daemon --storage-opt dm.override_udev_sync_check=true
|
||
</code></pre>
|
||
|
||
<p>When this value is <code>true</code>, the <code>devicemapper</code> continues and simply warns
|
||
you the errors are happening.</p>
|
||
|
||
<blockquote>
|
||
<p><strong>Note:</strong>
|
||
The ideal is to pursue a <code>docker</code> daemon and environment that does
|
||
support synchronizing with <code>udev</code>. For further discussion on this
|
||
topic, see <a href="https://github.com/docker/docker/issues/4036">docker#4036</a>.
|
||
Otherwise, set this flag for migrating existing Docker daemons to
|
||
a daemon with a supported environment.</p>
|
||
</blockquote></li>
|
||
|
||
<li><p><code>dm.use_deferred_removal</code></p>
|
||
|
||
<p>Enables use of deferred device removal if <code>libdm</code> and the kernel driver
|
||
support the mechanism.</p>
|
||
|
||
<p>Deferred device removal means that if device is busy when devices are
|
||
being removed/deactivated, then a deferred removal is scheduled on
|
||
device. And devices automatically go away when last user of the device
|
||
exits.</p>
|
||
|
||
<p>For example, when a container exits, its associated thin device is removed.
|
||
If that device has leaked into some other mount namespace and can’t be
|
||
removed, the container exit still succeeds and this option causes the
|
||
system to schedule the device for deferred removal. It does not wait in a
|
||
loop trying to remove a busy device.</p>
|
||
|
||
<p>Example use:</p>
|
||
|
||
<pre><code>$ docker daemon --storage-opt dm.use_deferred_removal=true
|
||
</code></pre></li>
|
||
|
||
<li><p><code>dm.use_deferred_deletion</code></p>
|
||
|
||
<p>Enables use of deferred device deletion for thin pool devices. By default,
|
||
thin pool device deletion is synchronous. Before a container is deleted,
|
||
the Docker daemon removes any associated devices. If the storage driver
|
||
can not remove a device, the container deletion fails and daemon returns.</p>
|
||
|
||
<pre><code>Error deleting container: Error response from daemon: Cannot destroy container
|
||
</code></pre>
|
||
|
||
<p>To avoid this failure, enable both deferred device deletion and deferred
|
||
device removal on the daemon.</p>
|
||
|
||
<pre><code>$ docker daemon \
|
||
--storage-opt dm.use_deferred_deletion=true \
|
||
--storage-opt dm.use_deferred_removal=true
|
||
</code></pre>
|
||
|
||
<p>With these two options enabled, if a device is busy when the driver is
|
||
deleting a container, the driver marks the device as deleted. Later, when
|
||
the device isn’t in use, the driver deletes it.</p>
|
||
|
||
<p>In general it should be safe to enable this option by default. It will help
|
||
when unintentional leaking of mount point happens across multiple mount
|
||
namespaces.</p></li>
|
||
|
||
<li><p><code>dm.min_free_space</code></p>
|
||
|
||
<p>Specifies the min free space percent in a thin pool require for new device
|
||
creation to succeed. This check applies to both free data space as well
|
||
as free metadata space. Valid values are from 0% - 99%. Value 0% disables
|
||
free space checking logic. If user does not specify a value for this option,
|
||
the Engine uses a default value of 10%.</p>
|
||
|
||
<p>Whenever a new a thin pool device is created (during <code>docker pull</code> or during
|
||
container creation), the Engine checks if the minimum free space is
|
||
available. If sufficient space is unavailable, then device creation fails
|
||
and any relevant <code>docker</code> operation fails.</p>
|
||
|
||
<p>To recover from this error, you must create more free space in the thin pool
|
||
to recover from the error. You can create free space by deleting some images
|
||
and containers from the thin pool. You can also add more storage to the thin
|
||
pool.</p>
|
||
|
||
<p>To add more space to a LVM (logical volume management) thin pool, just add
|
||
more storage to the volume group container thin pool; this should automatically
|
||
resolve any errors. If your configuration uses loop devices, then stop the
|
||
Engine daemon, grow the size of loop files and restart the daemon to resolve
|
||
the issue.</p>
|
||
|
||
<p>Example use:</p>
|
||
|
||
<pre><code class="language-bash">$ docker daemon --storage-opt dm.min_free_space=10%
|
||
</code></pre></li>
|
||
</ul>
|
||
|
||
<p>Currently supported options of <code>zfs</code>:</p>
|
||
|
||
<ul>
|
||
<li><p><code>zfs.fsname</code></p>
|
||
|
||
<p>Set zfs filesystem under which docker will create its own datasets.
|
||
By default docker will pick up the zfs filesystem where docker graph
|
||
(<code>/var/lib/docker</code>) is located.</p>
|
||
|
||
<p>Example use:</p>
|
||
|
||
<pre><code>$ docker daemon -s zfs --storage-opt zfs.fsname=zroot/docker
|
||
</code></pre></li>
|
||
</ul>
|
||
|
||
<h2 id="docker-runtime-execution-options">Docker runtime execution options</h2>
|
||
|
||
<p>The Docker daemon relies on a
|
||
<a href="https://github.com/opencontainers/specs">OCI</a> compliant runtime
|
||
(invoked via the <code>containerd</code> daemon) as its interface to the Linux
|
||
kernel <code>namespaces</code>, <code>cgroups</code>, and <code>SELinux</code>.</p>
|
||
|
||
<h2 id="options-for-the-runtime">Options for the runtime</h2>
|
||
|
||
<p>You can configure the runtime using options specified
|
||
with the <code>--exec-opt</code> flag. All the flag’s options have the <code>native</code> prefix. A
|
||
single <code>native.cgroupdriver</code> option is available.</p>
|
||
|
||
<p>The <code>native.cgroupdriver</code> option specifies the management of the container’s
|
||
cgroups. You can specify only specify <code>cgroupfs</code> or <code>systemd</code>. If you specify
|
||
<code>systemd</code> and it is not available, the system errors out. If you omit the
|
||
<code>native.cgroupdriver</code> option,<code>cgroupfs</code> is used.</p>
|
||
|
||
<p>This example sets the <code>cgroupdriver</code> to <code>systemd</code>:</p>
|
||
|
||
<pre><code>$ sudo docker daemon --exec-opt native.cgroupdriver=systemd
|
||
</code></pre>
|
||
|
||
<p>Setting this option applies to all containers the daemon launches.</p>
|
||
|
||
<p>Also Windows Container makes use of <code>--exec-opt</code> for special purpose. Docker user
|
||
can specify default container isolation technology with this, for example:</p>
|
||
|
||
<pre><code>$ docker daemon --exec-opt isolation=hyperv
|
||
</code></pre>
|
||
|
||
<p>Will make <code>hyperv</code> the default isolation technology on Windows, without specifying
|
||
isolation value on daemon start, Windows isolation technology will default to <code>process</code>.</p>
|
||
|
||
<h2 id="daemon-dns-options">Daemon DNS options</h2>
|
||
|
||
<p>To set the DNS server for all Docker containers, use
|
||
<code>docker daemon --dns 8.8.8.8</code>.</p>
|
||
|
||
<p>To set the DNS search domain for all Docker containers, use
|
||
<code>docker daemon --dns-search example.com</code>.</p>
|
||
|
||
<h2 id="insecure-registries">Insecure registries</h2>
|
||
|
||
<p>Docker considers a private registry either secure or insecure. In the rest of
|
||
this section, <em>registry</em> is used for <em>private registry</em>, and <code>myregistry:5000</code>
|
||
is a placeholder example for a private registry.</p>
|
||
|
||
<p>A secure registry uses TLS and a copy of its CA certificate is placed on the
|
||
Docker host at <code>/etc/docker/certs.d/myregistry:5000/ca.crt</code>. An insecure
|
||
registry is either not using TLS (i.e., listening on plain text HTTP), or is
|
||
using TLS with a CA certificate not known by the Docker daemon. The latter can
|
||
happen when the certificate was not found under
|
||
<code>/etc/docker/certs.d/myregistry:5000/</code>, or if the certificate verification
|
||
failed (i.e., wrong CA).</p>
|
||
|
||
<p>By default, Docker assumes all, but local (see local registries below),
|
||
registries are secure. Communicating with an insecure registry is not possible
|
||
if Docker assumes that registry is secure. In order to communicate with an
|
||
insecure registry, the Docker daemon requires <code>--insecure-registry</code> in one of
|
||
the following two forms:</p>
|
||
|
||
<ul>
|
||
<li><code>--insecure-registry myregistry:5000</code> tells the Docker daemon that
|
||
myregistry:5000 should be considered insecure.</li>
|
||
<li><code>--insecure-registry 10.1.0.0/16</code> tells the Docker daemon that all registries
|
||
whose domain resolve to an IP address is part of the subnet described by the
|
||
CIDR syntax, should be considered insecure.</li>
|
||
</ul>
|
||
|
||
<p>The flag can be used multiple times to allow multiple registries to be marked
|
||
as insecure.</p>
|
||
|
||
<p>If an insecure registry is not marked as insecure, <code>docker pull</code>,
|
||
<code>docker push</code>, and <code>docker search</code> will result in an error message prompting
|
||
the user to either secure or pass the <code>--insecure-registry</code> flag to the Docker
|
||
daemon as described above.</p>
|
||
|
||
<p>Local registries, whose IP address falls in the 127.0.0.0/8 range, are
|
||
automatically marked as insecure as of Docker 1.3.2. It is not recommended to
|
||
rely on this, as it may change in the future.</p>
|
||
|
||
<p>Enabling <code>--insecure-registry</code>, i.e., allowing un-encrypted and/or untrusted
|
||
communication, can be useful when running a local registry. However,
|
||
because its use creates security vulnerabilities it should ONLY be enabled for
|
||
testing purposes. For increased security, users should add their CA to their
|
||
system’s list of trusted CAs instead of enabling <code>--insecure-registry</code>.</p>
|
||
|
||
<h2 id="legacy-registries">Legacy Registries</h2>
|
||
|
||
<p>Enabling <code>--disable-legacy-registry</code> forces a docker daemon to only interact with registries which support the V2 protocol. Specifically, the daemon will not attempt <code>push</code>, <code>pull</code> and <code>login</code> to v1 registries. The exception to this is <code>search</code> which can still be performed on v1 registries.</p>
|
||
|
||
<h2 id="running-a-docker-daemon-behind-an-https-proxy">Running a Docker daemon behind an HTTPS_PROXY</h2>
|
||
|
||
<p>When running inside a LAN that uses an <code>HTTPS</code> proxy, the Docker Hub
|
||
certificates will be replaced by the proxy’s certificates. These certificates
|
||
need to be added to your Docker host’s configuration:</p>
|
||
|
||
<ol>
|
||
<li>Install the <code>ca-certificates</code> package for your distribution</li>
|
||
<li>Ask your network admin for the proxy’s CA certificate and append them to
|
||
<code>/etc/pki/tls/certs/ca-bundle.crt</code></li>
|
||
<li>Then start your Docker daemon with <code>HTTPS_PROXY=http://username:password@proxy:port/ docker daemon</code>.
|
||
The <code>username:</code> and <code>password@</code> are optional - and are only needed if your
|
||
proxy is set up to require authentication.</li>
|
||
</ol>
|
||
|
||
<p>This will only add the proxy and authentication to the Docker daemon’s requests -
|
||
your <code>docker build</code>s and running containers will need extra configuration to
|
||
use the proxy</p>
|
||
|
||
<h2 id="default-ulimits">Default Ulimits</h2>
|
||
|
||
<p><code>--default-ulimit</code> allows you to set the default <code>ulimit</code> options to use for
|
||
all containers. It takes the same options as <code>--ulimit</code> for <code>docker run</code>. If
|
||
these defaults are not set, <code>ulimit</code> settings will be inherited, if not set on
|
||
<code>docker run</code>, from the Docker daemon. Any <code>--ulimit</code> options passed to
|
||
<code>docker run</code> will overwrite these defaults.</p>
|
||
|
||
<p>Be careful setting <code>nproc</code> with the <code>ulimit</code> flag as <code>nproc</code> is designed by Linux to
|
||
set the maximum number of processes available to a user, not to a container. For details
|
||
please check the <a href="../../../../engine/reference/commandline/run/">run</a> reference.</p>
|
||
|
||
<h2 id="nodes-discovery">Nodes discovery</h2>
|
||
|
||
<p>The <code>--cluster-advertise</code> option specifies the <code>host:port</code> or <code>interface:port</code>
|
||
combination that this particular daemon instance should use when advertising
|
||
itself to the cluster. The daemon is reached by remote hosts through this value.
|
||
If you specify an interface, make sure it includes the IP address of the actual
|
||
Docker host. For Engine installation created through <code>docker-machine</code>, the
|
||
interface is typically <code>eth1</code>.</p>
|
||
|
||
<p>The daemon uses <a href="https://github.com/docker/libkv/">libkv</a> to advertise
|
||
the node within the cluster. Some key-value backends support mutual
|
||
TLS. To configure the client TLS settings used by the daemon can be configured
|
||
using the <code>--cluster-store-opt</code> flag, specifying the paths to PEM encoded
|
||
files. For example:</p>
|
||
|
||
<pre><code class="language-bash">docker daemon \
|
||
--cluster-advertise 192.168.1.2:2376 \
|
||
--cluster-store etcd://192.168.1.2:2379 \
|
||
--cluster-store-opt kv.cacertfile=/path/to/ca.pem \
|
||
--cluster-store-opt kv.certfile=/path/to/cert.pem \
|
||
--cluster-store-opt kv.keyfile=/path/to/key.pem
|
||
</code></pre>
|
||
|
||
<p>The currently supported cluster store options are:</p>
|
||
|
||
<ul>
|
||
<li><p><code>discovery.heartbeat</code></p>
|
||
|
||
<p>Specifies the heartbeat timer in seconds which is used by the daemon as a
|
||
keepalive mechanism to make sure discovery module treats the node as alive
|
||
in the cluster. If not configured, the default value is 20 seconds.</p></li>
|
||
|
||
<li><p><code>discovery.ttl</code></p>
|
||
|
||
<p>Specifies the ttl (time-to-live) in seconds which is used by the discovery
|
||
module to timeout a node if a valid heartbeat is not received within the
|
||
configured ttl value. If not configured, the default value is 60 seconds.</p></li>
|
||
|
||
<li><p><code>kv.cacertfile</code></p>
|
||
|
||
<p>Specifies the path to a local file with PEM encoded CA certificates to trust</p></li>
|
||
|
||
<li><p><code>kv.certfile</code></p>
|
||
|
||
<p>Specifies the path to a local file with a PEM encoded certificate. This
|
||
certificate is used as the client cert for communication with the
|
||
Key/Value store.</p></li>
|
||
|
||
<li><p><code>kv.keyfile</code></p>
|
||
|
||
<p>Specifies the path to a local file with a PEM encoded private key. This
|
||
private key is used as the client key for communication with the
|
||
Key/Value store.</p></li>
|
||
|
||
<li><p><code>kv.path</code></p>
|
||
|
||
<p>Specifies the path in the Key/Value store. If not configured, the default value is ‘docker/nodes’.</p></li>
|
||
</ul>
|
||
|
||
<h2 id="access-authorization">Access authorization</h2>
|
||
|
||
<p>Docker’s access authorization can be extended by authorization plugins that your
|
||
organization can purchase or build themselves. You can install one or more
|
||
authorization plugins when you start the Docker <code>daemon</code> using the
|
||
<code>--authorization-plugin=PLUGIN_ID</code> option.</p>
|
||
|
||
<pre><code class="language-bash">docker daemon --authorization-plugin=plugin1 --authorization-plugin=plugin2,...
|
||
</code></pre>
|
||
|
||
<p>The <code>PLUGIN_ID</code> value is either the plugin’s name or a path to its specification
|
||
file. The plugin’s implementation determines whether you can specify a name or
|
||
path. Consult with your Docker administrator to get information about the
|
||
plugins available to you.</p>
|
||
|
||
<p>Once a plugin is installed, requests made to the <code>daemon</code> through the command
|
||
line or Docker’s remote API are allowed or denied by the plugin. If you have
|
||
multiple plugins installed, at least one must allow the request for it to
|
||
complete.</p>
|
||
|
||
<p>For information about how to create an authorization plugin, see <a href="../../../../engine/extend/plugins_authorization/">authorization
|
||
plugin</a> section in the Docker extend section of this documentation.</p>
|
||
|
||
<h2 id="daemon-user-namespace-options">Daemon user namespace options</h2>
|
||
|
||
<p>The Linux kernel <a href="http://man7.org/linux/man-pages/man7/user_namespaces.7.html">user namespace support</a> provides additional security by enabling
|
||
a process, and therefore a container, to have a unique range of user and
|
||
group IDs which are outside the traditional user and group range utilized by
|
||
the host system. Potentially the most important security improvement is that,
|
||
by default, container processes running as the <code>root</code> user will have expected
|
||
administrative privilege (with some restrictions) inside the container but will
|
||
effectively be mapped to an unprivileged <code>uid</code> on the host.</p>
|
||
|
||
<p>When user namespace support is enabled, Docker creates a single daemon-wide mapping
|
||
for all containers running on the same engine instance. The mappings will
|
||
utilize the existing subordinate user and group ID feature available on all modern
|
||
Linux distributions.
|
||
The <a href="http://man7.org/linux/man-pages/man5/subuid.5.html"><code>/etc/subuid</code></a> and
|
||
<a href="http://man7.org/linux/man-pages/man5/subgid.5.html"><code>/etc/subgid</code></a> files will be
|
||
read for the user, and optional group, specified to the <code>--userns-remap</code>
|
||
parameter. If you do not wish to specify your own user and/or group, you can
|
||
provide <code>default</code> as the value to this flag, and a user will be created on your behalf
|
||
and provided subordinate uid and gid ranges. This default user will be named
|
||
<code>dockremap</code>, and entries will be created for it in <code>/etc/passwd</code> and
|
||
<code>/etc/group</code> using your distro’s standard user and group creation tools.</p>
|
||
|
||
<blockquote>
|
||
<p><strong>Note</strong>: The single mapping per-daemon restriction is in place for now
|
||
because Docker shares image layers from its local cache across all
|
||
containers running on the engine instance. Since file ownership must be
|
||
the same for all containers sharing the same layer content, the decision
|
||
was made to map the file ownership on <code>docker pull</code> to the daemon’s user and
|
||
group mappings so that there is no delay for running containers once the
|
||
content is downloaded. This design preserves the same performance for <code>docker
|
||
pull</code>, <code>docker push</code>, and container startup as users expect with
|
||
user namespaces disabled.</p>
|
||
</blockquote>
|
||
|
||
<h3 id="starting-the-daemon-with-user-namespaces-enabled">Starting the daemon with user namespaces enabled</h3>
|
||
|
||
<p>To enable user namespace support, start the daemon with the
|
||
<code>--userns-remap</code> flag, which accepts values in the following formats:</p>
|
||
|
||
<ul>
|
||
<li>uid</li>
|
||
<li>uid:gid</li>
|
||
<li>username</li>
|
||
<li>username:groupname</li>
|
||
</ul>
|
||
|
||
<p>If numeric IDs are provided, translation back to valid user or group names
|
||
will occur so that the subordinate uid and gid information can be read, given
|
||
these resources are name-based, not id-based. If the numeric ID information
|
||
provided does not exist as entries in <code>/etc/passwd</code> or <code>/etc/group</code>, daemon
|
||
startup will fail with an error message.</p>
|
||
|
||
<blockquote>
|
||
<p><strong>Note:</strong> On Fedora 22, you have to <code>touch</code> the <code>/etc/subuid</code> and <code>/etc/subgid</code>
|
||
files to have ranges assigned when users are created. This must be done
|
||
<em>before</em> the <code>--userns-remap</code> option is enabled. Once these files exist, the
|
||
daemon can be (re)started and range assignment on user creation works properly.</p>
|
||
</blockquote>
|
||
|
||
<p><em>Example: starting with default Docker user management:</em></p>
|
||
|
||
<pre><code class="language-bash">$ docker daemon --userns-remap=default
|
||
</code></pre>
|
||
|
||
<p>When <code>default</code> is provided, Docker will create - or find the existing - user and group
|
||
named <code>dockremap</code>. If the user is created, and the Linux distribution has
|
||
appropriate support, the <code>/etc/subuid</code> and <code>/etc/subgid</code> files will be populated
|
||
with a contiguous 65536 length range of subordinate user and group IDs, starting
|
||
at an offset based on prior entries in those files. For example, Ubuntu will
|
||
create the following range, based on an existing user named <code>user1</code> already owning
|
||
the first 65536 range:</p>
|
||
|
||
<pre><code class="language-bash">$ cat /etc/subuid
|
||
user1:100000:65536
|
||
dockremap:165536:65536
|
||
</code></pre>
|
||
|
||
<p>If you have a preferred/self-managed user with subordinate ID mappings already
|
||
configured, you can provide that username or uid to the <code>--userns-remap</code> flag.
|
||
If you have a group that doesn’t match the username, you may provide the <code>gid</code>
|
||
or group name as well; otherwise the username will be used as the group name
|
||
when querying the system for the subordinate group ID range.</p>
|
||
|
||
<h3 id="detailed-information-on-subuid-subgid-ranges">Detailed information on <code>subuid</code>/<code>subgid</code> ranges</h3>
|
||
|
||
<p>Given potential advanced use of the subordinate ID ranges by power users, the
|
||
following paragraphs define how the Docker daemon currently uses the range entries
|
||
found within the subordinate range files.</p>
|
||
|
||
<p>The simplest case is that only one contiguous range is defined for the
|
||
provided user or group. In this case, Docker will use that entire contiguous
|
||
range for the mapping of host uids and gids to the container process. This
|
||
means that the first ID in the range will be the remapped root user, and the
|
||
IDs above that initial ID will map host ID 1 through the end of the range.</p>
|
||
|
||
<p>From the example <code>/etc/subuid</code> content shown above, the remapped root
|
||
user would be uid 165536.</p>
|
||
|
||
<p>If the system administrator has set up multiple ranges for a single user or
|
||
group, the Docker daemon will read all the available ranges and use the
|
||
following algorithm to create the mapping ranges:</p>
|
||
|
||
<ol>
|
||
<li>The range segments found for the particular user will be sorted by <em>start ID</em> ascending.</li>
|
||
<li>Map segments will be created from each range in increasing value with a length matching the length of each segment. Therefore the range segment with the lowest numeric starting value will be equal to the remapped root, and continue up through host uid/gid equal to the range segment length. As an example, if the lowest segment starts at ID 1000 and has a length of 100, then a map of 1000 -> 0 (the remapped root) up through 1100 -> 100 will be created from this segment. If the next segment starts at ID 10000, then the next map will start with mapping 10000 -> 101 up to the length of this second segment. This will continue until no more segments are found in the subordinate files for this user.</li>
|
||
<li>If more than five range segments exist for a single user, only the first five will be utilized, matching the kernel’s limitation of only five entries in <code>/proc/self/uid_map</code> and <code>proc/self/gid_map</code>.</li>
|
||
</ol>
|
||
|
||
<h3 id="disable-user-namespace-for-a-container">Disable user namespace for a container</h3>
|
||
|
||
<p>If you enable user namespaces on the daemon, all containers are started
|
||
with user namespaces enabled. In some situations you might want to disable
|
||
this feature for a container, for example, to start a privileged container (see
|
||
<a href="#user-namespace-known-restrictions">user namespace known restrictions</a>).
|
||
To enable those advanced features for a specific container use <code>--userns=host</code>
|
||
in the <code>run/exec/create</code> command.
|
||
This option will completely disable user namespace mapping for the container’s user.</p>
|
||
|
||
<h3 id="user-namespace-known-restrictions">User namespace known restrictions</h3>
|
||
|
||
<p>The following standard Docker features are currently incompatible when
|
||
running a Docker daemon with user namespaces enabled:</p>
|
||
|
||
<ul>
|
||
<li>sharing PID or NET namespaces with the host (<code>--pid=host</code> or <code>--net=host</code>)</li>
|
||
<li>A <code>--readonly</code> container filesystem (this is a Linux kernel restriction against remounting with modified flags of a currently mounted filesystem when inside a user namespace)</li>
|
||
<li>external (volume or graph) drivers which are unaware/incapable of using daemon user mappings</li>
|
||
<li>Using <code>--privileged</code> mode flag on <code>docker run</code> (unless also specifying <code>--userns=host</code>)</li>
|
||
</ul>
|
||
|
||
<p>In general, user namespaces are an advanced feature and will require
|
||
coordination with other capabilities. For example, if volumes are mounted from
|
||
the host, file ownership will have to be pre-arranged if the user or
|
||
administrator wishes the containers to have expected access to the volume
|
||
contents.</p>
|
||
|
||
<p>Finally, while the <code>root</code> user inside a user namespaced container process has
|
||
many of the expected admin privileges that go along with being the superuser, the
|
||
Linux kernel has restrictions based on internal knowledge that this is a user namespaced
|
||
process. The most notable restriction that we are aware of at this time is the
|
||
inability to use <code>mknod</code>. Permission will be denied for device creation even as
|
||
container <code>root</code> inside a user namespace.</p>
|
||
|
||
<h2 id="miscellaneous-options">Miscellaneous options</h2>
|
||
|
||
<p>IP masquerading uses address translation to allow containers without a public
|
||
IP to talk to other machines on the Internet. This may interfere with some
|
||
network topologies and can be disabled with <code>--ip-masq=false</code>.</p>
|
||
|
||
<p>Docker supports softlinks for the Docker data directory (<code>/var/lib/docker</code>) and
|
||
for <code>/var/lib/docker/tmp</code>. The <code>DOCKER_TMPDIR</code> and the data directory can be
|
||
set like this:</p>
|
||
|
||
<pre><code>DOCKER_TMPDIR=/mnt/disk2/tmp /usr/local/bin/docker daemon -D -g /var/lib/docker -H unix:// > /var/lib/docker-machine/docker.log 2>&1
|
||
# or
|
||
export DOCKER_TMPDIR=/mnt/disk2/tmp
|
||
/usr/local/bin/docker daemon -D -g /var/lib/docker -H unix:// > /var/lib/docker-machine/docker.log 2>&1
|
||
</code></pre>
|
||
|
||
<h2 id="default-cgroup-parent">Default cgroup parent</h2>
|
||
|
||
<p>The <code>--cgroup-parent</code> option allows you to set the default cgroup parent
|
||
to use for containers. If this option is not set, it defaults to <code>/docker</code> for
|
||
fs cgroup driver and <code>system.slice</code> for systemd cgroup driver.</p>
|
||
|
||
<p>If the cgroup has a leading forward slash (<code>/</code>), the cgroup is created
|
||
under the root cgroup, otherwise the cgroup is created under the daemon
|
||
cgroup.</p>
|
||
|
||
<p>Assuming the daemon is running in cgroup <code>daemoncgroup</code>,
|
||
<code>--cgroup-parent=/foobar</code> creates a cgroup in
|
||
<code>/sys/fs/cgroup/memory/foobar</code>, whereas using <code>--cgroup-parent=foobar</code>
|
||
creates the cgroup in <code>/sys/fs/cgroup/memory/daemoncgroup/foobar</code></p>
|
||
|
||
<p>The systemd cgroup driver has different rules for <code>--cgroup-parent</code>. Systemd
|
||
represents hierarchy by slice and the name of the slice encodes the location in
|
||
the tree. So <code>--cgroup-parent</code> for systemd cgroups should be a slice name. A
|
||
name can consist of a dash-separated series of names, which describes the path
|
||
to the slice from the root slice. For example, <code>--cgroup-parent=user-a-b.slice</code>
|
||
means the memory cgroup for the container is created in
|
||
<code>/sys/fs/cgroup/memory/user.slice/user-a.slice/user-a-b.slice/docker-<id>.scope</code>.</p>
|
||
|
||
<p>This setting can also be set per container, using the <code>--cgroup-parent</code>
|
||
option on <code>docker create</code> and <code>docker run</code>, and takes precedence over
|
||
the <code>--cgroup-parent</code> option on the daemon.</p>
|
||
|
||
<h2 id="daemon-configuration-file">Daemon configuration file</h2>
|
||
|
||
<p>The <code>--config-file</code> option allows you to set any configuration option
|
||
for the daemon in a JSON format. This file uses the same flag names as keys,
|
||
except for flags that allow several entries, where it uses the plural
|
||
of the flag name, e.g., <code>labels</code> for the <code>label</code> flag. By default,
|
||
docker tries to load a configuration file from <code>/etc/docker/daemon.json</code>
|
||
on Linux and <code>%programdata%\docker\config\daemon.json</code> on Windows.</p>
|
||
|
||
<p>The options set in the configuration file must not conflict with options set
|
||
via flags. The docker daemon fails to start if an option is duplicated between
|
||
the file and the flags, regardless their value. We do this to avoid
|
||
silently ignore changes introduced in configuration reloads.
|
||
For example, the daemon fails to start if you set daemon labels
|
||
in the configuration file and also set daemon labels via the <code>--label</code> flag.</p>
|
||
|
||
<p>Options that are not present in the file are ignored when the daemon starts.
|
||
This is a full example of the allowed configuration options in the file:</p>
|
||
|
||
<pre><code class="language-json">{
|
||
"authorization-plugins": [],
|
||
"dns": [],
|
||
"dns-opts": [],
|
||
"dns-search": [],
|
||
"exec-opts": [],
|
||
"exec-root": "",
|
||
"storage-driver": "",
|
||
"storage-opts": [],
|
||
"labels": [],
|
||
"log-driver": "",
|
||
"log-opts": [],
|
||
"mtu": 0,
|
||
"pidfile": "",
|
||
"graph": "",
|
||
"cluster-store": "",
|
||
"cluster-store-opts": {},
|
||
"cluster-advertise": "",
|
||
"debug": true,
|
||
"hosts": [],
|
||
"log-level": "",
|
||
"tls": true,
|
||
"tlsverify": true,
|
||
"tlscacert": "",
|
||
"tlscert": "",
|
||
"tlskey": "",
|
||
"api-cors-headers": "",
|
||
"selinux-enabled": false,
|
||
"userns-remap": "",
|
||
"group": "",
|
||
"cgroup-parent": "",
|
||
"default-ulimits": {},
|
||
"ipv6": false,
|
||
"iptables": false,
|
||
"ip-forward": false,
|
||
"ip-mask": false,
|
||
"userland-proxy": false,
|
||
"ip": "0.0.0.0",
|
||
"bridge": "",
|
||
"bip": "",
|
||
"fixed-cidr": "",
|
||
"fixed-cidr-v6": "",
|
||
"default-gateway": "",
|
||
"default-gateway-v6": "",
|
||
"icc": false,
|
||
"raw-logs": false,
|
||
"registry-mirrors": [],
|
||
"insecure-registries": [],
|
||
"disable-legacy-registry": false
|
||
}
|
||
</code></pre>
|
||
|
||
<h3 id="configuration-reloading">Configuration reloading</h3>
|
||
|
||
<p>Some options can be reconfigured when the daemon is running without requiring
|
||
to restart the process. We use the <code>SIGHUP</code> signal in Linux to reload, and a global event
|
||
in Windows with the key <code>Global\docker-daemon-config-$PID</code>. The options can
|
||
be modified in the configuration file but still will check for conflicts with
|
||
the provided flags. The daemon fails to reconfigure itself
|
||
if there are conflicts, but it won’t stop execution.</p>
|
||
|
||
<p>The list of currently supported options that can be reconfigured is this:</p>
|
||
|
||
<ul>
|
||
<li><code>debug</code>: it changes the daemon to debug mode when set to true.</li>
|
||
<li><code>cluster-store</code>: it reloads the discovery store with the new address.</li>
|
||
<li><code>cluster-store-opts</code>: it uses the new options to reload the discovery store.</li>
|
||
<li><code>cluster-advertise</code>: it modifies the address advertised after reloading.</li>
|
||
<li><code>labels</code>: it replaces the daemon labels with a new set of labels.</li>
|
||
</ul>
|
||
|
||
<p>Updating and reloading the cluster configurations such as <code>--cluster-store</code>,
|
||
<code>--cluster-advertise</code> and <code>--cluster-store-opts</code> will take effect only if
|
||
these configurations were not previously configured. If <code>--cluster-store</code>
|
||
has been provided in flags and <code>cluster-advertise</code> not, <code>cluster-advertise</code>
|
||
can be added in the configuration file without accompanied by <code>--cluster-store</code>
|
||
Configuration reload will log a warning message if it detects a change in
|
||
previously configured cluster configurations.</p>
|
||
|
||
<h2 id="running-multiple-daemons">Running multiple daemons</h2>
|
||
|
||
<blockquote>
|
||
<p><strong>Note:</strong> Running multiple daemons on a single host is considered as “experimental”. The user should be aware of
|
||
unsolved problems. This solution may not work properly in some cases. Solutions are currently under development
|
||
and will be delivered in the near future.</p>
|
||
</blockquote>
|
||
|
||
<p>This section describes how to run multiple Docker daemons on a single host. To
|
||
run multiple daemons, you must configure each daemon so that it does not
|
||
conflict with other daemons on the same host. You can set these options either
|
||
by providing them as flags, or by using a <a href="#daemon-configuration-file">daemon configuration file</a>.</p>
|
||
|
||
<p>The following daemon options must be configured for each daemon:</p>
|
||
|
||
<pre><code class="language-bash">-b, --bridge= Attach containers to a network bridge
|
||
--exec-root=/var/run/docker Root of the Docker execdriver
|
||
-g, --graph=/var/lib/docker Root of the Docker runtime
|
||
-p, --pidfile=/var/run/docker.pid Path to use for daemon PID file
|
||
-H, --host=[] Daemon socket(s) to connect to
|
||
--config-file=/etc/docker/daemon.json Daemon configuration file
|
||
--tlscacert="~/.docker/ca.pem" Trust certs signed only by this CA
|
||
--tlscert="~/.docker/cert.pem" Path to TLS certificate file
|
||
--tlskey="~/.docker/key.pem" Path to TLS key file
|
||
</code></pre>
|
||
|
||
<p>When your daemons use different values for these flags, you can run them on the same host without any problems.
|
||
It is very important to properly understand the meaning of those options and to use them correctly.</p>
|
||
|
||
<ul>
|
||
<li>The <code>-b, --bridge=</code> flag is set to <code>docker0</code> as default bridge network. It is created automatically when you install Docker.
|
||
If you are not using the default, you must create and configure the bridge manually or just set it to ‘none’: <code>--bridge=none</code></li>
|
||
<li><code>--exec-root</code> is the path where the container state is stored. The default value is <code>/var/run/docker</code>. Specify the path for
|
||
your running daemon here.</li>
|
||
<li><code>--graph</code> is the path where images are stored. The default value is <code>/var/lib/docker</code>. To avoid any conflict with other daemons
|
||
set this parameter separately for each daemon.</li>
|
||
<li><code>-p, --pidfile=/var/run/docker.pid</code> is the path where the process ID of the daemon is stored. Specify the path for your
|
||
pid file here.</li>
|
||
<li><code>--host=[]</code> specifies where the Docker daemon will listen for client connections. If unspecified, it defaults to <code>/var/run/docker.sock</code>.</li>
|
||
<li><code>--config-file=/etc/docker/daemon.json</code> is the path where configuration file is stored. You can use it instead of
|
||
daemon flags. Specify the path for each daemon.</li>
|
||
<li><code>--tls*</code> Docker daemon supports <code>--tlsverify</code> mode that enforces encrypted and authenticated remote connections.
|
||
The <code>--tls*</code> options enable use of specific certificates for individual daemons.</li>
|
||
</ul>
|
||
|
||
<p>Example script for a separate “bootstrap” instance of the Docker daemon without network:</p>
|
||
|
||
<pre><code class="language-bash">$ docker daemon \
|
||
-H unix:///var/run/docker-bootstrap.sock \
|
||
-p /var/run/docker-bootstrap.pid \
|
||
--iptables=false \
|
||
--ip-masq=false \
|
||
--bridge=none \
|
||
--graph=/var/lib/docker-bootstrap \
|
||
--exec-root=/var/run/docker-bootstrap
|
||
</code></pre>
|
||
|
||
</article>
|
||
</section>
|
||
</div>
|
||
<div id="toc" class="large-3 columns toc ">
|
||
On this page:
|
||
<nav id="TableOfContents">
|
||
<ul>
|
||
<li><a href="#daemon">daemon</a>
|
||
<ul>
|
||
<li><a href="#daemon-socket-option">Daemon socket option</a>
|
||
<ul>
|
||
<li><a href="#daemon-storage-driver-option">Daemon storage-driver option</a></li>
|
||
<li><a href="#storage-driver-options">Storage driver options</a></li>
|
||
</ul></li>
|
||
<li><a href="#docker-runtime-execution-options">Docker runtime execution options</a></li>
|
||
<li><a href="#options-for-the-runtime">Options for the runtime</a></li>
|
||
<li><a href="#daemon-dns-options">Daemon DNS options</a></li>
|
||
<li><a href="#insecure-registries">Insecure registries</a></li>
|
||
<li><a href="#legacy-registries">Legacy Registries</a></li>
|
||
<li><a href="#running-a-docker-daemon-behind-an-https-proxy">Running a Docker daemon behind an HTTPS_PROXY</a></li>
|
||
<li><a href="#default-ulimits">Default Ulimits</a></li>
|
||
<li><a href="#nodes-discovery">Nodes discovery</a></li>
|
||
<li><a href="#access-authorization">Access authorization</a></li>
|
||
<li><a href="#daemon-user-namespace-options">Daemon user namespace options</a>
|
||
<ul>
|
||
<li><a href="#starting-the-daemon-with-user-namespaces-enabled">Starting the daemon with user namespaces enabled</a></li>
|
||
<li><a href="#detailed-information-on-subuid-subgid-ranges">Detailed information on <code>subuid</code>/<code>subgid</code> ranges</a></li>
|
||
<li><a href="#disable-user-namespace-for-a-container">Disable user namespace for a container</a></li>
|
||
<li><a href="#user-namespace-known-restrictions">User namespace known restrictions</a></li>
|
||
</ul></li>
|
||
<li><a href="#miscellaneous-options">Miscellaneous options</a></li>
|
||
<li><a href="#default-cgroup-parent">Default cgroup parent</a></li>
|
||
<li><a href="#daemon-configuration-file">Daemon configuration file</a>
|
||
<ul>
|
||
<li><a href="#configuration-reloading">Configuration reloading</a></li>
|
||
</ul></li>
|
||
<li><a href="#running-multiple-daemons">Running multiple daemons</a></li>
|
||
</ul></li>
|
||
</ul>
|
||
</nav>
|
||
</div>
|
||
</div>
|
||
|
||
<footer class="main-footer">
|
||
<div class="row">
|
||
</div>
|
||
<div class="row">
|
||
</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/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>
|
||
|