summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSven Dowideit <SvenDowideit@users.noreply.github.com>2016-06-10 19:47:14 +1000
committerGitHub <noreply@github.com>2016-06-10 19:47:14 +1000
commit9aa451ec5fd6878d10ead96b4e31354c8e5c87f0 (patch)
treec8b37ca3e3f7b09d841ccf5570eb6d0a885bd44b
parentb6766eb67685131b82e35c0274a920f7a152fcc8 (diff)
parent98638feaaebffe379ae624514e22ddaf94700e28 (diff)
downloaddocker-docs-v1.11.2-2016-06-10.tar.gz
Merge pull request #23318 from thaJeztah/20160606-docs-cherry-picksdocs-v1.11.2-2016-06-10
20160606 docs cherry picks
-rw-r--r--CHANGELOG.md2
-rw-r--r--CONTRIBUTING.md6
-rw-r--r--docs/admin/configuring.md2
-rw-r--r--docs/admin/logging/etwlogs.md1
-rw-r--r--docs/admin/logging/fluentd.md3
-rw-r--r--docs/admin/logging/gcplogs.md1
-rw-r--r--docs/admin/logging/journald.md5
-rw-r--r--docs/admin/logging/log_tags.md2
-rw-r--r--docs/admin/logging/overview.md209
-rw-r--r--docs/admin/logging/splunk.md1
-rw-r--r--docs/admin/systemd.md2
-rw-r--r--docs/examples/running_redis_service.md2
-rw-r--r--docs/extend/plugins.md2
-rw-r--r--docs/installation/linux/fedora.md2
-rw-r--r--docs/installation/linux/ubuntulinux.md2
-rw-r--r--docs/installation/windows.md2
-rw-r--r--docs/reference/api/docker_remote_api_v1.20.md2
-rw-r--r--docs/reference/api/docker_remote_api_v1.21.md2
-rw-r--r--docs/reference/api/docker_remote_api_v1.22.md2
-rw-r--r--docs/reference/api/docker_remote_api_v1.23.md2
-rw-r--r--docs/reference/api/remote_api_client_libraries.md37
-rw-r--r--docs/reference/commandline/attach.md4
-rw-r--r--docs/reference/commandline/build.md6
-rw-r--r--docs/reference/commandline/daemon.md63
-rw-r--r--docs/reference/commandline/network_create.md2
-rw-r--r--docs/reference/commandline/pull.md2
-rw-r--r--docs/security/https.md2
-rw-r--r--docs/security/trust/content_trust.md2
-rw-r--r--docs/security/trust/trust_delegation.md2
-rw-r--r--docs/security/trust/trust_key_mng.md2
-rw-r--r--docs/userguide/intro.md2
-rw-r--r--man/docker-attach.1.md4
-rw-r--r--man/docker-inspect.1.md2
-rw-r--r--man/docker-run.1.md2
34 files changed, 233 insertions, 151 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index ed87168992..561f169d98 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1686,7 +1686,7 @@ With the ongoing changes to the networking and execution subsystems of docker te
+ Add -rm to docker run for removing a container on exit
- Remove error messages which are not actually errors
- Fix `docker rm` with volumes
-- Fix some error cases where a HTTP body might not be closed
+- Fix some error cases where an HTTP body might not be closed
- Fix panic with wrong dockercfg file
- Fix the attach behavior with -i
* Record termination time in state.
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 6b875d6901..385833720d 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -152,9 +152,9 @@ However, there might be a way to implement that feature *on top of* Docker.
<a href="https://groups.google.com/forum/#!forum/docker-user" target="_blank">Docker-user</a>
is for people using Docker containers.
The <a href="https://groups.google.com/forum/#!forum/docker-dev" target="_blank">docker-dev</a>
- group is for contributors and other people contributing to the Docker
- project.
- You can join them without an google account by sending an email to e.g. "docker-user+subscribe@googlegroups.com".
+ group is for contributors and other people contributing to the Docker project.
+ You can join them without a google account by sending an email to
+ <a href="mailto:docker-dev+subscribe@googlegroups.com">docker-dev+subscribe@googlegroups.com</a>.
After receiving the join-request message, you can simply reply to that to confirm the subscribtion.
</td>
</tr>
diff --git a/docs/admin/configuring.md b/docs/admin/configuring.md
index e7556ab729..b91ed8203e 100644
--- a/docs/admin/configuring.md
+++ b/docs/admin/configuring.md
@@ -48,7 +48,7 @@ Some of the daemon's options are:
| `--tls=false` | Enable or disable TLS. By default, this is false. |
-Here is a an example of running the `docker` daemon with configuration options:
+Here is an example of running the `docker` daemon with configuration options:
$ docker daemon -D --tls=true --tlscert=/var/docker/server.pem --tlskey=/var/docker/serverkey.pem -H tcp://192.168.59.3:2376
diff --git a/docs/admin/logging/etwlogs.md b/docs/admin/logging/etwlogs.md
index 5b98fd5495..17fb65ae51 100644
--- a/docs/admin/logging/etwlogs.md
+++ b/docs/admin/logging/etwlogs.md
@@ -5,7 +5,6 @@ description = "Describes how to use the etwlogs logging driver."
keywords = ["ETW, docker, logging, driver"]
[menu.main]
parent = "smn_logging"
-weight=2
+++
<![end-metadata]-->
diff --git a/docs/admin/logging/fluentd.md b/docs/admin/logging/fluentd.md
index 538af7b1b2..238bd06a40 100644
--- a/docs/admin/logging/fluentd.md
+++ b/docs/admin/logging/fluentd.md
@@ -6,7 +6,6 @@ description = "Describes how to use the fluentd logging driver."
keywords = ["Fluentd, docker, logging, driver"]
[menu.main]
parent = "smn_logging"
-weight=2
+++
<![end-metadata]-->
@@ -90,7 +89,7 @@ and [its documents](http://docs.fluentd.org/).
To use this logging driver, start the `fluentd` daemon on a host. We recommend
that you use [the Fluentd docker
image](https://hub.docker.com/r/fluent/fluentd/). This image is
-especially useful if you want to aggregate multiple container logs on a each
+especially useful if you want to aggregate multiple container logs on each
host then, later, transfer the logs to another Fluentd node to create an
aggregate store.
diff --git a/docs/admin/logging/gcplogs.md b/docs/admin/logging/gcplogs.md
index 08fd858da0..c92c17a102 100644
--- a/docs/admin/logging/gcplogs.md
+++ b/docs/admin/logging/gcplogs.md
@@ -5,7 +5,6 @@ description = "Describes how to use the Google Cloud Logging driver."
keywords = ["gcplogs, google, docker, logging, driver"]
[menu.main]
parent = "smn_logging"
-weight = 2
+++
<![end-metadata]-->
diff --git a/docs/admin/logging/journald.md b/docs/admin/logging/journald.md
index 90c9720319..8476dd062f 100644
--- a/docs/admin/logging/journald.md
+++ b/docs/admin/logging/journald.md
@@ -1,12 +1,11 @@
<!--[metadata]>
+++
aliases = ["/engine/reference/logging/journald/"]
-title = "journald logging driver"
+title = "Journald logging driver"
description = "Describes how to use the fluentd logging driver."
-keywords = ["Fluentd, docker, logging, driver"]
+keywords = ["Journald, docker, logging, driver"]
[menu.main]
parent = "smn_logging"
-weight = 2
+++
<![end-metadata]-->
diff --git a/docs/admin/logging/log_tags.md b/docs/admin/logging/log_tags.md
index 9b2e098d9f..41297d97a8 100644
--- a/docs/admin/logging/log_tags.md
+++ b/docs/admin/logging/log_tags.md
@@ -6,7 +6,7 @@ description = "Describes how to format tags for."
keywords = ["docker, logging, driver, syslog, Fluentd, gelf, journald"]
[menu.main]
parent = "smn_logging"
-weight = 1
+weight = -1
+++
<![end-metadata]-->
diff --git a/docs/admin/logging/overview.md b/docs/admin/logging/overview.md
index 8a7cd12ffb..0c8c0e7b44 100644
--- a/docs/admin/logging/overview.md
+++ b/docs/admin/logging/overview.md
@@ -6,7 +6,7 @@ description = "Configure logging driver."
keywords = ["docker, logging, driver, Fluentd"]
[menu.main]
parent = "smn_logging"
-weight=-1
+weight=-99
+++
<![end-metadata]-->
@@ -15,10 +15,13 @@ weight=-1
The container can have a different logging driver than the Docker daemon. Use
the `--log-driver=VALUE` with the `docker run` command to configure the
-container's logging driver. The following options are supported:
+container's logging driver. If the `--log-driver` option is not set, docker
+uses the default (`json-file`) logging driver. The following options are
+supported:
-| `none` | Disables any logging for the container. `docker logs` won't be available with this driver. |
+| Driver | Description |
|-------------|-------------------------------------------------------------------------------------------------------------------------------|
+| `none` | Disables any logging for the container. `docker logs` won't be available with this driver. |
| `json-file` | Default logging driver for Docker. Writes JSON messages to file. |
| `syslog` | Syslog logging driver for Docker. Writes log messages to syslog. |
| `journald` | Journald logging driver for Docker. Writes log messages to `journald`. |
@@ -32,40 +35,58 @@ container's logging driver. The following options are supported:
The `docker logs`command is available only for the `json-file` and `journald`
logging drivers.
-The `labels` and `env` options add additional attributes for use with logging drivers that accept them. Each option takes a comma-separated list of keys. If there is collision between `label` and `env` keys, the value of the `env` takes precedence.
+The `labels` and `env` options add additional attributes for use with logging
+drivers that accept them. Each option takes a comma-separated list of keys. If
+there is collision between `label` and `env` keys, the value of the `env` takes
+precedence.
-To use attributes, specify them when you start the Docker daemon.
+To use attributes, specify them when you start the Docker daemon. For example,
+to manually start the daemon with the `json-file` driver, and include additional
+attributes in the output, run the following command:
-```
-docker daemon --log-driver=json-file --log-opt labels=foo --log-opt env=foo,fizz
+```bash
+$ docker daemon \
+ --log-driver=json-file \
+ --log-opt labels=foo \
+ --log-opt env=foo,fizz
```
-Then, run a container and specify values for the `labels` or `env`. For example, you might use this:
+Then, run a container and specify values for the `labels` or `env`. For
+example, you might use this:
-```
-docker run --label foo=bar -e fizz=buzz -d -P training/webapp python app.py
+```bash
+$ docker run -dit --label foo=bar -e fizz=buzz alpine sh
```
This adds additional fields to the log depending on the driver, e.g. for
`json-file` that looks like:
- "attrs":{"fizz":"buzz","foo":"bar"}
+```json
+"attrs":{"fizz":"buzz","foo":"bar"}
+```
## json-file options
The following logging options are supported for the `json-file` logging driver:
- --log-opt max-size=[0-9+][k|m|g]
- --log-opt max-file=[0-9+]
- --log-opt labels=label1,label2
- --log-opt env=env1,env2
+```bash
+--log-opt max-size=[0-9+][k|m|g]
+--log-opt max-file=[0-9+]
+--log-opt labels=label1,label2
+--log-opt env=env1,env2
+```
-Logs that reach `max-size` are rolled over. You can set the size in kilobytes(k), megabytes(m), or gigabytes(g). eg `--log-opt max-size=50m`. If `max-size` is not set, then logs are not rolled over.
+Logs that reach `max-size` are rolled over. You can set the size in
+kilobytes(k), megabytes(m), or gigabytes(g). eg `--log-opt max-size=50m`. If
+`max-size` is not set, then logs are not rolled over.
-`max-file` specifies the maximum number of files that a log is rolled over before being discarded. eg `--log-opt max-file=100`. If `max-size` is not set, then `max-file` is not honored.
+`max-file` specifies the maximum number of files that a log is rolled over
+before being discarded. eg `--log-opt max-file=100`. If `max-size` is not set,
+then `max-file` is not honored.
-If `max-size` and `max-file` are set, `docker logs` only returns the log lines from the newest log file.
+If `max-size` and `max-file` are set, `docker logs` only returns the log lines
+from the newest log file.
## syslog options
@@ -82,17 +103,20 @@ The following logging options are supported for the `syslog` logging driver:
--log-opt tag="mailer"
--log-opt syslog-format=[rfc5424|rfc3164]
-`syslog-address` specifies the remote syslog server address where the driver connects to.
-If not specified it defaults to the local unix socket of the running system.
-If transport is either `tcp` or `udp` and `port` is not specified it defaults to `514`
-The following example shows how to have the `syslog` driver connect to a `syslog`
-remote server at `192.168.0.42` on port `123`
+`syslog-address` specifies the remote syslog server address where the driver
+connects to. If not specified it defaults to the local unix socket of the
+running system. If transport is either `tcp` or `udp` and `port` is not
+specified it defaults to `514` The following example shows how to have the
+`syslog` driver connect to a `syslog` remote server at `192.168.0.42` on port
+`123`
- $ docker run --log-driver=syslog --log-opt syslog-address=tcp://192.168.0.42:123
+```bash
+$ docker run --log-driver=syslog --log-opt syslog-address=tcp://192.168.0.42:123
+```
-The `syslog-facility` option configures the syslog facility. By default, the system uses the
-`daemon` value. To override this behavior, you can provide an integer of 0 to 23 or any of
-the following named facilities:
+The `syslog-facility` option configures the syslog facility. By default, the
+system uses the `daemon` value. To override this behavior, you can provide an
+integer of 0 to 23 or any of the following named facilities:
* `kern`
* `user`
@@ -116,17 +140,18 @@ the following named facilities:
* `local7`
`syslog-tls-ca-cert` specifies the absolute path to the trust certificates
-signed by the CA. This option is ignored if the address protocol is not `tcp+tls`.
+signed by the CA. This option is ignored if the address protocol is not
+`tcp+tls`.
-`syslog-tls-cert` specifies the absolute path to the TLS certificate file.
-This option is ignored if the address protocol is not `tcp+tls`.
+`syslog-tls-cert` specifies the absolute path to the TLS certificate file. This
+option is ignored if the address protocol is not `tcp+tls`.
-`syslog-tls-key` specifies the absolute path to the TLS key file.
-This option is ignored if the address protocol is not `tcp+tls`.
+`syslog-tls-key` specifies the absolute path to the TLS key file. This option
+is ignored if the address protocol is not `tcp+tls`.
-`syslog-tls-skip-verify` configures the TLS verification.
-This verification is enabled by default, but it can be overriden by setting
-this option to `true`. This option is ignored if the address protocol is not `tcp+tls`.
+`syslog-tls-skip-verify` configures the TLS verification. This verification is
+enabled by default, but it can be overriden by setting this option to `true`.
+This option is ignored if the address protocol is not `tcp+tls`.
By default, Docker uses the first 12 characters of the container ID to tag log messages.
Refer to the [log tag option documentation](log_tags.md) for customizing
@@ -137,34 +162,40 @@ If not specified it defaults to the local unix syslog format without hostname sp
Specify rfc3164 to perform logging in RFC-3164 compatible format. Specify rfc5424 to perform
logging in RFC-5424 compatible format
-
## journald options
-The `journald` logging driver stores the container id in the journal's `CONTAINER_ID` field. For detailed information on
-working with this logging driver, see [the journald logging driver](journald.md)
-reference documentation.
+The `journald` logging driver stores the container id in the journal's
+`CONTAINER_ID` field. For detailed information on working with this logging
+driver, see [the journald logging driver](journald.md) reference documentation.
-## gelf options
+## GELF options
The GELF logging driver supports the following options:
- --log-opt gelf-address=udp://host:port
- --log-opt tag="database"
- --log-opt labels=label1,label2
- --log-opt env=env1,env2
- --log-opt gelf-compression-type=gzip
- --log-opt gelf-compression-level=1
+```bash
+--log-opt gelf-address=udp://host:port
+--log-opt tag="database"
+--log-opt labels=label1,label2
+--log-opt env=env1,env2
+--log-opt gelf-compression-type=gzip
+--log-opt gelf-compression-level=1
+```
The `gelf-address` option specifies the remote GELF server address that the
-driver connects to. Currently, only `udp` is supported as the transport and you must
-specify a `port` value. The following example shows how to connect the `gelf`
-driver to a GELF remote server at `192.168.0.42` on port `12201`
+driver connects to. Currently, only `udp` is supported as the transport and you
+must specify a `port` value. The following example shows how to connect the
+`gelf` driver to a GELF remote server at `192.168.0.42` on port `12201`
+
+```bash
+$ docker run -dit \
+ --log-driver=gelf \
+ --log-opt gelf-address=udp://192.168.0.42:12201 \
+ alpine sh
+```
- $ docker run --log-driver=gelf --log-opt gelf-address=udp://192.168.0.42:12201
-
-By default, Docker uses the first 12 characters of the container ID to tag log messages.
-Refer to the [log tag option documentation](log_tags.md) for customizing
-the log tag format.
+By default, Docker uses the first 12 characters of the container ID to tag log
+messages. Refer to the [log tag option documentation](log_tags.md) for
+customizing the log tag format.
The `labels` and `env` options are supported by the gelf logging
driver. It adds additional key on the `extra` fields, prefixed by an
@@ -179,14 +210,15 @@ The `gelf-compression-type` option can be used to change how the GELF driver
compresses each log message. The accepted values are `gzip`, `zlib` and `none`.
`gzip` is chosen by default.
-The `gelf-compression-level` option can be used to change the level of compresssion
-when `gzip` or `zlib` is selected as `gelf-compression-type`. Accepted value
-must be from from -1 to 9 (BestCompression). Higher levels typically
-run slower but compress more. Default value is 1 (BestSpeed).
+The `gelf-compression-level` option can be used to change the level of
+compresssion when `gzip` or `zlib` is selected as `gelf-compression-type`.
+Accepted value must be from from -1 to 9 (BestCompression). Higher levels
+typically run slower but compress more. Default value is 1 (BestSpeed).
-## fluentd options
+## Fluentd options
-You can use the `--log-opt NAME=VALUE` flag to specify these additional Fluentd logging driver options.
+You can use the `--log-opt NAME=VALUE` flag to specify these additional Fluentd
+logging driver options.
- `fluentd-address`: specify `host:port` to connect [localhost:24224]
- `tag`: specify tag for `fluentd` message
@@ -197,7 +229,13 @@ You can use the `--log-opt NAME=VALUE` flag to specify these additional Fluentd
For example, to specify both additional options:
-`docker run --log-driver=fluentd --log-opt fluentd-address=localhost:24224 --log-opt tag=docker.{{.Name}}`
+```bash
+$ docker run -dit \
+ --log-driver=fluentd \
+ --log-opt fluentd-address=localhost:24224 \
+ --log-opt tag="docker.{{.Name}}" \
+ alpine sh
+```
If container cannot connect to the Fluentd daemon on the specified address and
`fluentd-async-connect` is not enabled, the container stops immediately.
@@ -205,42 +243,51 @@ For detailed information on working with this logging driver,
see [the fluentd logging driver](fluentd.md)
-## Specify Amazon CloudWatch Logs options
+## Amazon CloudWatch Logs options
The Amazon CloudWatch Logs logging driver supports the following options:
- --log-opt awslogs-region=<aws_region>
- --log-opt awslogs-group=<log_group_name>
- --log-opt awslogs-stream=<log_stream_name>
-
+```bash
+--log-opt awslogs-region=<aws_region>
+--log-opt awslogs-group=<log_group_name>
+--log-opt awslogs-stream=<log_stream_name>
+```
-For detailed information on working with this logging driver, see [the awslogs logging driver](awslogs.md) reference documentation.
+For detailed information on working with this logging driver, see [the awslogs
+logging driver](awslogs.md) reference documentation.
## Splunk options
The Splunk logging driver requires the following options:
- --log-opt splunk-token=<splunk_http_event_collector_token>
- --log-opt splunk-url=https://your_splunk_instance:8088
+```bash
+--log-opt splunk-token=<splunk_http_event_collector_token>
+--log-opt splunk-url=https://your_splunk_instance:8088
+```
-For detailed information about working with this logging driver, see the [Splunk logging driver](splunk.md)
-reference documentation.
+For detailed information about working with this logging driver, see the
+[Splunk logging driver](splunk.md) reference documentation.
## ETW logging driver options
-The etwlogs logging driver does not require any options to be specified. This logging driver will forward each log message
-as an ETW event. An ETW listener can then be created to listen for these events.
+The etwlogs logging driver does not require any options to be specified. This
+logging driver forwards each log message as an ETW event. An ETW listener
+can then be created to listen for these events.
-For detailed information on working with this logging driver, see [the ETW logging driver](etwlogs.md) reference documentation.
+The ETW logging driver is only available on Windows. For detailed information
+on working with this logging driver, see [the ETW logging driver](etwlogs.md)
+reference documentation.
-## Google Cloud Logging
+## Google Cloud Logging options
The Google Cloud Logging driver supports the following options:
- --log-opt gcp-project=<gcp_projext>
- --log-opt labels=<label1>,<label2>
- --log-opt env=<envvar1>,<envvar2>
- --log-opt log-cmd=true
+```bash
+--log-opt gcp-project=<gcp_projext>
+--log-opt labels=<label1>,<label2>
+--log-opt env=<envvar1>,<envvar2>
+--log-opt log-cmd=true
+```
-For detailed information about working with this logging driver, see the [Google Cloud Logging driver](gcplogs.md).
-reference documentation.
+For detailed information about working with this logging driver, see the
+[Google Cloud Logging driver](gcplogs.md). reference documentation.
diff --git a/docs/admin/logging/splunk.md b/docs/admin/logging/splunk.md
index 9c60a529d2..b5f60f3450 100644
--- a/docs/admin/logging/splunk.md
+++ b/docs/admin/logging/splunk.md
@@ -6,7 +6,6 @@ description = "Describes how to use the Splunk logging driver."
keywords = ["splunk, docker, logging, driver"]
[menu.main]
parent = "smn_logging"
-weight = 2
+++
<![end-metadata]-->
diff --git a/docs/admin/systemd.md b/docs/admin/systemd.md
index ef44e8e9ee..03283cce8d 100644
--- a/docs/admin/systemd.md
+++ b/docs/admin/systemd.md
@@ -123,7 +123,7 @@ If you fail to specify an empty configuration, Docker reports an error such as:
This example overrides the default `docker.service` file.
-If you are behind a HTTP proxy server, for example in corporate settings,
+If you are behind an HTTP proxy server, for example in corporate settings,
you will need to add this configuration in the Docker systemd service file.
First, create a systemd drop-in directory for the docker service:
diff --git a/docs/examples/running_redis_service.md b/docs/examples/running_redis_service.md
index 82daaa7830..66d852206e 100644
--- a/docs/examples/running_redis_service.md
+++ b/docs/examples/running_redis_service.md
@@ -1,7 +1,7 @@
<!--[metadata]>
+++
title = "Dockerizing a Redis service"
-description = "Installing and running an redis service"
+description = "Installing and running a redis service"
keywords = ["docker, example, package installation, networking, redis"]
[menu.main]
parent = "engine_dockerize"
diff --git a/docs/extend/plugins.md b/docs/extend/plugins.md
index 7881c73c29..222a2dbf65 100644
--- a/docs/extend/plugins.md
+++ b/docs/extend/plugins.md
@@ -52,6 +52,7 @@ Plugin
[Blockbridge plugin](https://github.com/blockbridge/blockbridge-docker-volume) | A volume plugin that provides access to an extensible set of container-based persistent storage options. It supports single and multi-host Docker environments with features that include tenant isolation, automated provisioning, encryption, secure deletion, snapshots and QoS.
[Contiv Volume Plugin](https://github.com/contiv/volplugin) | An open source volume plugin that provides multi-tenant, persistent, distributed storage with intent based consumption using ceph underneath.
[Convoy plugin](https://github.com/rancher/convoy) | A volume plugin for a variety of storage back-ends including device mapper and NFS. It's a simple standalone executable written in Go and provides the framework to support vendor-specific extensions such as snapshots, backups and restore.
+[DRBD plugin](https://www.drbd.org/en/supported-projects/docker) | A volume plugin that provides highly available storage replicated by [DRBD](https://www.drbd.org). Data written to the docker volume is replicated in a cluster of DRBD nodes.
[Flocker plugin](https://clusterhq.com/docker-plugin/) | A volume plugin that provides multi-host portable volumes for Docker, enabling you to run databases and other stateful containers and move them around across a cluster of machines.
[gce-docker plugin](https://github.com/mcuadros/gce-docker) | A volume plugin able to attach, format and mount Google Compute [persistent-disks](https://cloud.google.com/compute/docs/disks/persistent-disks).
[GlusterFS plugin](https://github.com/calavera/docker-volume-glusterfs) | A volume plugin that provides multi-host volumes management for Docker using GlusterFS.
@@ -64,6 +65,7 @@ Plugin
[OpenStorage Plugin](https://github.com/libopenstorage/openstorage) | A cluster-aware volume plugin that provides volume management for file and block storage solutions. It implements a vendor neutral specification for implementing extensions such as CoS, encryption, and snapshots. It has example drivers based on FUSE, NFS, NBD and EBS to name a few.
[Quobyte Volume Plugin](https://github.com/quobyte/docker-volume) | A volume plugin that connects Docker to [Quobyte](http://www.quobyte.com/containers)'s data center file system, a general-purpose scalable and fault-tolerant storage platform.
[REX-Ray plugin](https://github.com/emccode/rexray) | A volume plugin which is written in Go and provides advanced storage functionality for many platforms including VirtualBox, EC2, Google Compute Engine, OpenStack, and EMC.
+[VMware vSphere Storage Plugin](https://github.com/vmware/docker-volume-vsphere) | Docker Volume Driver for vSphere enables customers to address persistent storage requirements for Docker containers in vSphere environments.
### Authorization plugins
diff --git a/docs/installation/linux/fedora.md b/docs/installation/linux/fedora.md
index 8d297b4750..12d1de77f7 100644
--- a/docs/installation/linux/fedora.md
+++ b/docs/installation/linux/fedora.md
@@ -26,7 +26,7 @@ version, open a terminal and use `uname -r` to display your kernel version:
$ uname -r
3.19.5-100.fc21.x86_64
-If your kernel is at a older version, you must update it.
+If your kernel is at an older version, you must update it.
Finally, is it recommended that you fully update your system. Please keep in
mind that your system should be fully patched to fix any potential kernel bugs. Any
diff --git a/docs/installation/linux/ubuntulinux.md b/docs/installation/linux/ubuntulinux.md
index 1807874c12..4371135a8b 100644
--- a/docs/installation/linux/ubuntulinux.md
+++ b/docs/installation/linux/ubuntulinux.md
@@ -391,7 +391,7 @@ To specify a DNS server for use by Docker:
5. Restart the Docker daemon.
- $ sudo restart docker
+ $ sudo service docker restart
&nbsp;
diff --git a/docs/installation/windows.md b/docs/installation/windows.md
index 696ee3394a..d30c066df3 100644
--- a/docs/installation/windows.md
+++ b/docs/installation/windows.md
@@ -85,7 +85,7 @@ Docker container using standard localhost addressing such as `localhost:8000` or
![Linux Architecture Diagram](images/linux_docker_host.svg)
-In an Windows installation, the `docker` daemon is running inside a Linux virtual
+In a Windows installation, the `docker` daemon is running inside a Linux virtual
machine. You use the Windows Docker client to talk to the Docker host VM. Your
Docker containers run inside this host.
diff --git a/docs/reference/api/docker_remote_api_v1.20.md b/docs/reference/api/docker_remote_api_v1.20.md
index b669ce22c4..5c4c5af9b3 100644
--- a/docs/reference/api/docker_remote_api_v1.20.md
+++ b/docs/reference/api/docker_remote_api_v1.20.md
@@ -1127,7 +1127,7 @@ following section.
`GET /containers/(id or name)/archive`
-Get an tar archive of a resource in the filesystem of container `id`.
+Get a tar archive of a resource in the filesystem of container `id`.
Query Parameters:
diff --git a/docs/reference/api/docker_remote_api_v1.21.md b/docs/reference/api/docker_remote_api_v1.21.md
index 8a463bad65..6f6baf9456 100644
--- a/docs/reference/api/docker_remote_api_v1.21.md
+++ b/docs/reference/api/docker_remote_api_v1.21.md
@@ -1210,7 +1210,7 @@ following section.
`GET /containers/(id or name)/archive`
-Get an tar archive of a resource in the filesystem of container `id`.
+Get a tar archive of a resource in the filesystem of container `id`.
Query Parameters:
diff --git a/docs/reference/api/docker_remote_api_v1.22.md b/docs/reference/api/docker_remote_api_v1.22.md
index 3c6ec0e989..602da448c8 100644
--- a/docs/reference/api/docker_remote_api_v1.22.md
+++ b/docs/reference/api/docker_remote_api_v1.22.md
@@ -1389,7 +1389,7 @@ following section.
`GET /containers/(id or name)/archive`
-Get an tar archive of a resource in the filesystem of container `id`.
+Get a tar archive of a resource in the filesystem of container `id`.
Query Parameters:
diff --git a/docs/reference/api/docker_remote_api_v1.23.md b/docs/reference/api/docker_remote_api_v1.23.md
index cff4bcedc6..099dad3e76 100644
--- a/docs/reference/api/docker_remote_api_v1.23.md
+++ b/docs/reference/api/docker_remote_api_v1.23.md
@@ -1419,7 +1419,7 @@ following section.
`GET /containers/(id or name)/archive`
-Get an tar archive of a resource in the filesystem of container `id`.
+Get a tar archive of a resource in the filesystem of container `id`.
Query Parameters:
diff --git a/docs/reference/api/remote_api_client_libraries.md b/docs/reference/api/remote_api_client_libraries.md
index b82062deff..03123d61ab 100644
--- a/docs/reference/api/remote_api_client_libraries.md
+++ b/docs/reference/api/remote_api_client_libraries.md
@@ -11,24 +11,22 @@ weight = 90
# Docker Remote API client libraries
-These libraries have not been tested by the Docker maintainers for
-compatibility. Please file issues with the library owners. If you find
-more library implementations, please list them in Docker doc bugs and we
-will add the libraries here.
+These libraries make it easier to build applications on top of the Docker
+Remote API with various programming languages. They have not been tested by the
+Docker maintainers for compatibility, so if you run into any issues, file them
+with the library maintainers.
<table border="1" class="docutils">
<colgroup>
- <col width="24%">
- <col width="17%">
+ <col width="29%">
+ <col width="23%">
<col width="48%">
- <col width="11%">
</colgroup>
<thead valign="bottom">
<tr>
<th class="head">Language/Framework</th>
<th class="head">Name</th>
<th class="head">Repository</th>
- <th class="head">Status</th>
</tr>
</thead>
<tbody valign = "top">
@@ -36,122 +34,101 @@ will add the libraries here.
<td>C#</td>
<td>Docker.DotNet</td>
<td><a class="reference external" href="https://github.com/ahmetalpbalkan/Docker.DotNet">https://github.com/ahmetalpbalkan/Docker.DotNet</a></td>
- <td>Active</td>
</tr>
<tr>
<td>C++</td>
<td>lasote/docker_client</td>
<td><a class="reference external" href="https://github.com/lasote/docker_client">https://github.com/lasote/docker_client</a></td>
- <td>Active</td>
</tr>
<tr>
<td>Erlang</td>
<td>erldocker</td>
<td><a class="reference external" href="https://github.com/proger/erldocker">https://github.com/proger/erldocker</a></td>
- <td>Active</td>
</tr>
<tr>
<td>Dart</td>
<td>bwu_docker</td>
<td><a class="reference external" href="https://github.com/bwu-dart/bwu_docker">https://github.com/bwu-dart/bwu_docker</a></td>
- <td>Active</td>
</tr>
<tr>
<td>Go</td>
<td>engine-api</td>
<td><a class="reference external" href="https://github.com/docker/engine-api">https://github.com/docker/engine-api</a></td>
- <td>Active</td>
</tr>
<tr>
<td>Gradle</td>
<td>gradle-docker-plugin</td>
<td><a class="reference external" href="https://github.com/gesellix/gradle-docker-plugin">https://github.com/gesellix/gradle-docker-plugin</a></td>
- <td>Active</td>
</tr>
<tr>
<td>Groovy</td>
<td>docker-client</td>
<td><a class="reference external" href="https://github.com/gesellix/docker-client">https://github.com/gesellix/docker-client</a></td>
- <td>Active</td>
</tr>
<tr>
<td>Haskell</td>
<td>docker-hs</td>
<td><a class="reference external" href="https://github.com/denibertovic/docker-hs">https://github.com/denibertovic/docker-hs</a></td>
- <td>Active</td>
</tr>
<tr>
<td>HTML (Web Components)</td>
<td>docker-elements</td>
<td><a class="reference external" href="https://github.com/kapalhq/docker-elements">https://github.com/kapalhq/docker-elements</a></td>
- <td>Active</td>
</tr>
<tr>
<td>Java</td>
<td>docker-java</td>
<td><a class="reference external" href="https://github.com/docker-java/docker-java">https://github.com/docker-java/docker-java</a></td>
- <td>Active</td>
</tr>
<tr>
<td>Java</td>
<td>docker-client</td>
<td><a class="reference external" href="https://github.com/spotify/docker-client">https://github.com/spotify/docker-client</a></td>
- <td>Active</td>
</tr>
<tr>
<td>NodeJS</td>
<td>dockerode</td>
- <td><a class="reference external" href="https://github.com/apocas/dockerode">https://github.com/apocas/dockerode</a>
- Install via NPM: <cite>npm install dockerode</cite></td>
- <td>Active</td>
+ <td><a class="reference external" href="https://github.com/apocas/dockerode">https://github.com/apocas/dockerode</a></td>
</tr>
<tr>
<td>Perl</td>
<td>Eixo::Docker</td>
<td><a class="reference external" href="https://github.com/alambike/eixo-docker">https://github.com/alambike/eixo-docker</a></td>
- <td>Active</td>
</tr>
<tr>
<td>PHP</td>
<td>Docker-PHP</td>
<td><a class="reference external" href="https://github.com/docker-php/docker-php">https://github.com/docker-php/docker-php</a></td>
- <td>Active</td>
</tr>
<tr>
<td>Python</td>
<td>docker-py</td>
<td><a class="reference external" href="https://github.com/docker/docker-py">https://github.com/docker/docker-py</a></td>
- <td>Active</td>
</tr>
<tr>
<td>Ruby</td>
<td>docker-api</td>
<td><a class="reference external" href="https://github.com/swipely/docker-api">https://github.com/swipely/docker-api</a></td>
- <td>Active</td>
</tr>
<tr>
<td>Rust</td>
<td>docker-rust</td>
<td><a class="reference external" href="https://github.com/abh1nav/docker-rust">https://github.com/abh1nav/docker-rust</a></td>
- <td>Active</td>
</tr>
<tr>
<td>Rust</td>
<td>shiplift</td>
<td><a class="reference external" href="https://github.com/softprops/shiplift">https://github.com/softprops/shiplift</a></td>
- <td>Active</td>
</tr>
<tr>
<td>Scala</td>
<td>tugboat</td>
<td><a class="reference external" href="https://github.com/softprops/tugboat">https://github.com/softprops/tugboat</a></td>
- <td>Active</td>
</tr>
<tr>
<td>Scala</td>
<td>reactive-docker</td>
<td><a class="reference external" href="https://github.com/almoehi/reactive-docker">https://github.com/almoehi/reactive-docker</a></td>
- <td>Active</td>
</tr>
</tbody>
</table>
diff --git a/docs/reference/commandline/attach.md b/docs/reference/commandline/attach.md
index 799fe1d176..d910872764 100644
--- a/docs/reference/commandline/attach.md
+++ b/docs/reference/commandline/attach.md
@@ -51,8 +51,8 @@ foreground over a slow client connection. Instead, users should use the
## Override the detach sequence
-If you want, you can configure a override the Docker key sequence for detach.
-This is is useful if the Docker default sequence conflicts with key squence you
+If you want, you can configure an override the Docker key sequence for detach.
+This is useful if the Docker default sequence conflicts with key sequence you
use for other applications. There are two ways to defines a your own detach key
sequence, as a per-container override or as a configuration property on your
entire configuration.
diff --git a/docs/reference/commandline/build.md b/docs/reference/commandline/build.md
index f0f30a0ced..881113af8e 100644
--- a/docs/reference/commandline/build.md
+++ b/docs/reference/commandline/build.md
@@ -79,7 +79,11 @@ Build Syntax Suffix | Commit Used | Build Context Used
Instead of specifying a context, you can pass a single Dockerfile in the `URL`
or pipe the file in via `STDIN`. To pipe a Dockerfile from `STDIN`:
- docker build - < Dockerfile
+ $ docker build - < Dockerfile
+
+With Powershell on Windows, you can run:
+
+ Get-Content Dockerfile | docker build -
If you use STDIN or specify a `URL`, the system places the contents into a file
called `Dockerfile`, and any `-f`, `--file` option is ignored. In this
diff --git a/docs/reference/commandline/daemon.md b/docs/reference/commandline/daemon.md
index 863dcad1d2..b04357786d 100644
--- a/docs/reference/commandline/daemon.md
+++ b/docs/reference/commandline/daemon.md
@@ -1,6 +1,7 @@
<!--[metadata]>
+++
title = "daemon"
+aliases = ["/engine/reference/commandline/dockerd/", "/engine/reference/commandline/dockerd.md"]
description = "The daemon command description and usage"
keywords = ["container, daemon, runtime"]
[menu.main]
@@ -88,7 +89,7 @@ membership.
If you need to access the Docker daemon remotely, you need to enable the `tcp`
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 [built in HTTPS encrypted socket](../../security/https/), or by
+either using the [built in HTTPS encrypted socket](../../security/https.md), or by
putting a secure web proxy in front of it. You can listen on port `2375` on all
network interfaces with `-H tcp://0.0.0.0:2375`, or on a particular network
interface using its IP address: `-H tcp://192.168.59.103:2375`. It is
@@ -569,9 +570,9 @@ system's list of trusted CAs instead of enabling `--insecure-registry`.
Enabling `--disable-legacy-registry` forces a docker daemon to only interact with registries which support the V2 protocol. Specifically, the daemon will not attempt `push`, `pull` and `login` to v1 registries. The exception to this is `search` which can still be performed on v1 registries.
-## Running a Docker daemon behind a HTTPS_PROXY
+## Running a Docker daemon behind an HTTPS_PROXY
-When running inside a LAN that uses a `HTTPS` proxy, the Docker Hub
+When running inside a LAN that uses an `HTTPS` 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:
@@ -956,3 +957,59 @@ has been provided in flags and `cluster-advertise` not, `cluster-advertise`
can be added in the configuration file without accompanied by `--cluster-store`
Configuration reload will log a warning message if it detects a change in
previously configured cluster configurations.
+
+
+## Running multiple daemons
+
+> **Note:** 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.
+
+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 [daemon configuration file](#daemon-configuration-file).
+
+The following daemon options must be configured for each daemon:
+
+```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
+```
+
+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.
+
+- The `-b, --bridge=` flag is set to `docker0` 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': `--bridge=none`
+- `--exec-root` is the path where the container state is stored. The default value is `/var/run/docker`. Specify the path for
+your running daemon here.
+- `--graph` is the path where images are stored. The default value is `/var/lib/docker`. To avoid any conflict with other daemons
+set this parameter separately for each daemon.
+- `-p, --pidfile=/var/run/docker.pid` is the path where the process ID of the daemon is stored. Specify the path for your
+pid file here.
+- `--host=[]` specifies where the Docker daemon will listen for client connections. If unspecified, it defaults to `/var/run/docker.sock`.
+- `--config-file=/etc/docker/daemon.json` is the path where configuration file is stored. You can use it instead of
+daemon flags. Specify the path for each daemon.
+- `--tls*` Docker daemon supports `--tlsverify` mode that enforces encrypted and authenticated remote connections.
+The `--tls*` options enable use of specific certificates for individual daemons.
+
+Example script for a separate “bootstrap” instance of the Docker daemon without network:
+
+```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
+```
diff --git a/docs/reference/commandline/network_create.md b/docs/reference/commandline/network_create.md
index f44c5eff29..bb0060e3d0 100644
--- a/docs/reference/commandline/network_create.md
+++ b/docs/reference/commandline/network_create.md
@@ -101,7 +101,7 @@ disconnect` command.
When you create a network, Engine creates a non-overlapping subnetwork for the network by default. This subnetwork is not a subdivision of an existing network. It is purely for ip-addressing purposes. You can override this default and specify subnetwork values directly using the `--subnet` option. On a `bridge` network you can only create a single subnet:
```bash
-docker network create -d --subnet=192.168.0.0/16
+docker network create --driver=bridge --subnet=192.168.0.0/16 br0
```
Additionally, you also specify the `--gateway` `--ip-range` and `--aux-address` options.
diff --git a/docs/reference/commandline/pull.md b/docs/reference/commandline/pull.md
index 0231422918..f2021ca6d9 100644
--- a/docs/reference/commandline/pull.md
+++ b/docs/reference/commandline/pull.md
@@ -29,7 +29,7 @@ use `docker pull`.
## Proxy configuration
-If you are behind a HTTP proxy server, for example in corporate settings,
+If you are behind an HTTP proxy server, for example in corporate settings,
before open a connect to registry, you may need to configure the Docker
daemon's proxy settings, using the `HTTP_PROXY`, `HTTPS_PROXY`, and `NO_PROXY`
environment variables. To set these environment variables on a host using
diff --git a/docs/security/https.md b/docs/security/https.md
index 1b2619cb21..04f72b32ea 100644
--- a/docs/security/https.md
+++ b/docs/security/https.md
@@ -12,7 +12,7 @@ parent = "smn_secure_docker"
# Protect the Docker daemon socket
By default, Docker runs via a non-networked Unix socket. It can also
-optionally communicate using a HTTP socket.
+optionally communicate using an HTTP socket.
If you need Docker to be reachable via the network in a safe manner, you can
enable TLS by specifying the `tlsverify` flag and pointing Docker's
diff --git a/docs/security/trust/content_trust.md b/docs/security/trust/content_trust.md
index 98b06fdd77..a475dd306b 100644
--- a/docs/security/trust/content_trust.md
+++ b/docs/security/trust/content_trust.md
@@ -107,7 +107,7 @@ Trust for an image tag is managed through the use of signing keys. A key set is
created when an operation using content trust is first invoked. A key set consists
of the following classes of keys:
-- an offline key that is the root of content trust for a image tag
+- an offline key that is the root of content trust for an image tag
- repository or tagging keys that sign tags
- server-managed keys such as the timestamp key, which provides freshness
security guarantees for your repository
diff --git a/docs/security/trust/trust_delegation.md b/docs/security/trust/trust_delegation.md
index 050d14e67e..07cf94821f 100644
--- a/docs/security/trust/trust_delegation.md
+++ b/docs/security/trust/trust_delegation.md
@@ -67,7 +67,7 @@ e is 65537 (0x10001)
They should keep `delegation.key` private - this is what they will use to sign
tags.
-Then they need to generate a x509 certificate containing the public key, which is
+Then they need to generate an x509 certificate containing the public key, which is
what they will give to you. Here is the command to generate a CSR (certificate
signing request):
diff --git a/docs/security/trust/trust_key_mng.md b/docs/security/trust/trust_key_mng.md
index b74feadebf..9f7ed3b649 100644
--- a/docs/security/trust/trust_key_mng.md
+++ b/docs/security/trust/trust_key_mng.md
@@ -15,7 +15,7 @@ trust makes use of five different types of keys:
| Key | Description |
|---------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| root key | Root of content trust for a image tag. When content trust is enabled, you create the root key once. Also known as the offline key, because it should be kept offline. |
+| root key | Root of content trust for an image tag. When content trust is enabled, you create the root key once. Also known as the offline key, because it should be kept offline. |
| targets | This key allows you to sign image tags, to manage delegations including delegated keys or permitted delegation paths. Also known as the repository key, since this key determines what tags can be signed into an image repository. |
| snapshot | This key signs the current collection of image tags, preventing mix and match attacks.
| timestamp | This key allows Docker image repositories to have freshness security guarantees without requiring periodic content refreshes on the client's side. |
diff --git a/docs/userguide/intro.md b/docs/userguide/intro.md
index 18b688ce79..45084fb41a 100644
--- a/docs/userguide/intro.md
+++ b/docs/userguide/intro.md
@@ -87,7 +87,7 @@ Go to [Docker Machine user guide](https://docs.docker.com/machine/).
### Docker Compose
-Docker Compose allows you to define a application's components -- their containers,
+Docker Compose allows you to define an application's components -- their containers,
configuration, links and volumes -- in a single file. Then a single command
will set everything up and start your application running.
diff --git a/man/docker-attach.1.md b/man/docker-attach.1.md
index c78f4fbb1b..c02522eb52 100644
--- a/man/docker-attach.1.md
+++ b/man/docker-attach.1.md
@@ -43,8 +43,8 @@ attaching to a tty-enabled container (i.e.: launched with `-t`).
# Override the detach sequence
-If you want, you can configure a override the Docker key sequence for detach.
-This is is useful if the Docker default sequence conflicts with key squence you
+If you want, you can configure an override the Docker key sequence for detach.
+This is useful if the Docker default sequence conflicts with key sequence you
use for other applications. There are two ways to defines a your own detach key
sequence, as a per-container override or as a configuration property on your
entire configuration.
diff --git a/man/docker-inspect.1.md b/man/docker-inspect.1.md
index 1bc2cf0b9c..6d7a54ad3b 100644
--- a/man/docker-inspect.1.md
+++ b/man/docker-inspect.1.md
@@ -223,7 +223,7 @@ output:
You can get more information about how to write a Go template from:
https://golang.org/pkg/text/template/.
-## Getting size information on an container
+## Getting size information on a container
$ docker inspect -s d2cc496561d6
[
diff --git a/man/docker-run.1.md b/man/docker-run.1.md
index 57808f33a0..d40c2e5589 100644
--- a/man/docker-run.1.md
+++ b/man/docker-run.1.md
@@ -217,7 +217,7 @@ See **config-json(5)** for documentation on using a configuration file.
Limit write rate to a device (e.g. --device-write-bps=/dev/sda:1mb)
**--device-write-iops**=[]
- Limit write rate a a device (e.g. --device-write-iops=/dev/sda:1000)
+ Limit write rate to a device (e.g. --device-write-iops=/dev/sda:1000)
**--dns-search**=[]
Set custom DNS search domains (Use --dns-search=. if you don't wish to set the search domain)