Browse code

Merge pull request #23318 from thaJeztah/20160606-docs-cherry-picks

20160606 docs cherry picks

Sven Dowideit authored on 2016/06/10 18:47:14
Showing 34 changed files
... ...
@@ -1686,7 +1686,7 @@ With the ongoing changes to the networking and execution subsystems of docker te
1686 1686
 + Add -rm to docker run for removing a container on exit
1687 1687
 - Remove error messages which are not actually errors
1688 1688
 - Fix `docker rm` with volumes
1689
-- Fix some error cases where a HTTP body might not be closed
1689
+- Fix some error cases where an HTTP body might not be closed
1690 1690
 - Fix panic with wrong dockercfg file
1691 1691
 - Fix the attach behavior with -i
1692 1692
 * Record termination time in state.
... ...
@@ -152,9 +152,9 @@ However, there might be a way to implement that feature *on top of* Docker.
152 152
       <a href="https://groups.google.com/forum/#!forum/docker-user" target="_blank">Docker-user</a>
153 153
       is for people using Docker containers.
154 154
       The <a href="https://groups.google.com/forum/#!forum/docker-dev" target="_blank">docker-dev</a>
155
-      group is for contributors and other people contributing to the Docker
156
-      project.
157
-      You can join them without an google account by sending an email to e.g. "docker-user+subscribe@googlegroups.com".
155
+      group is for contributors and other people contributing to the Docker project.
156
+      You can join them without a google account by sending an email to 
157
+      <a href="mailto:docker-dev+subscribe@googlegroups.com">docker-dev+subscribe@googlegroups.com</a>.
158 158
       After receiving the join-request message, you can simply reply to that to confirm the subscribtion.
159 159
     </td>
160 160
   </tr>
... ...
@@ -48,7 +48,7 @@ Some of the daemon's options are:
48 48
 | `--tls=false`         | Enable or disable TLS. By default, this is false.         |
49 49
 
50 50
 
51
-Here is a an example of running the `docker` daemon with configuration options:
51
+Here is an example of running the `docker` daemon with configuration options:
52 52
 
53 53
     $ docker daemon -D --tls=true --tlscert=/var/docker/server.pem --tlskey=/var/docker/serverkey.pem -H tcp://192.168.59.3:2376
54 54
 
... ...
@@ -5,7 +5,6 @@ description = "Describes how to use the etwlogs logging driver."
5 5
 keywords = ["ETW, docker, logging, driver"]
6 6
 [menu.main]
7 7
 parent = "smn_logging" 
8
-weight=2
9 8
 +++
10 9
 <![end-metadata]-->
11 10
 
... ...
@@ -6,7 +6,6 @@ description = "Describes how to use the fluentd logging driver."
6 6
 keywords = ["Fluentd, docker, logging, driver"]
7 7
 [menu.main]
8 8
 parent = "smn_logging"
9
-weight=2
10 9
 +++
11 10
 <![end-metadata]-->
12 11
 
... ...
@@ -90,7 +89,7 @@ and [its documents](http://docs.fluentd.org/).
90 90
 To use this logging driver, start the `fluentd` daemon on a host. We recommend
91 91
 that you use [the Fluentd docker
92 92
 image](https://hub.docker.com/r/fluent/fluentd/). This image is
93
-especially useful if you want to aggregate multiple container logs on a each
93
+especially useful if you want to aggregate multiple container logs on each
94 94
 host then, later, transfer the logs to another Fluentd node to create an
95 95
 aggregate store.
96 96
 
... ...
@@ -5,7 +5,6 @@ description = "Describes how to use the Google Cloud Logging driver."
5 5
 keywords = ["gcplogs, google, docker, logging, driver"]
6 6
 [menu.main]
7 7
 parent = "smn_logging"
8
-weight = 2
9 8
 +++
10 9
 <![end-metadata]-->
11 10
 
... ...
@@ -1,12 +1,11 @@
1 1
 <!--[metadata]>
2 2
 +++
3 3
 aliases = ["/engine/reference/logging/journald/"]
4
-title = "journald logging driver"
4
+title = "Journald logging driver"
5 5
 description = "Describes how to use the fluentd logging driver."
6
-keywords = ["Fluentd, docker, logging, driver"]
6
+keywords = ["Journald, docker, logging, driver"]
7 7
 [menu.main]
8 8
 parent = "smn_logging"
9
-weight = 2
10 9
 +++
11 10
 <![end-metadata]-->
12 11
 
... ...
@@ -6,7 +6,7 @@ description = "Describes how to format tags for."
6 6
 keywords = ["docker, logging, driver, syslog, Fluentd, gelf, journald"]
7 7
 [menu.main]
8 8
 parent = "smn_logging"
9
-weight = 1
9
+weight = -1
10 10
 +++
11 11
 <![end-metadata]-->
12 12
 
... ...
@@ -6,7 +6,7 @@ description = "Configure logging driver."
6 6
 keywords = ["docker, logging, driver, Fluentd"]
7 7
 [menu.main]
8 8
 parent = "smn_logging"
9
-weight=-1
9
+weight=-99
10 10
 +++
11 11
 <![end-metadata]-->
12 12
 
... ...
@@ -15,10 +15,13 @@ weight=-1
15 15
 
16 16
 The container can have a different logging driver than the Docker daemon. Use
17 17
 the `--log-driver=VALUE` with the `docker run` command to configure the
18
-container's logging driver. The following options are supported:
18
+container's logging driver. If the `--log-driver` option is not set, docker
19
+uses the default (`json-file`) logging driver. The following options are
20
+supported:
19 21
 
20
-| `none`      | Disables any logging for the container. `docker logs` won't be available with this driver.                                    |
22
+| Driver      | Description                                                                                                                   |
21 23
 |-------------|-------------------------------------------------------------------------------------------------------------------------------|
24
+| `none`      | Disables any logging for the container. `docker logs` won't be available with this driver.                                    |
22 25
 | `json-file` | Default logging driver for Docker. Writes JSON messages to file.                                                              |
23 26
 | `syslog`    | Syslog logging driver for Docker. Writes log messages to syslog.                                                              |
24 27
 | `journald`  | Journald logging driver for Docker. Writes log messages to `journald`.                                                        |
... ...
@@ -32,40 +35,58 @@ container's logging driver. The following options are supported:
32 32
 The `docker logs`command is available only for the `json-file` and `journald`
33 33
 logging drivers.
34 34
 
35
-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.
35
+The `labels` and `env` options add additional attributes for use with logging
36
+drivers that accept them. Each option takes a comma-separated list of keys. If
37
+there is collision between `label` and `env` keys, the value of the `env` takes
38
+precedence.
36 39
 
37
-To use attributes, specify them when you start the Docker daemon.
40
+To use attributes, specify them when you start the Docker daemon. For example,
41
+to manually start the daemon with the `json-file` driver, and include additional
42
+attributes in the output, run the following command:
38 43
 
39
-```
40
-docker daemon --log-driver=json-file --log-opt labels=foo --log-opt env=foo,fizz
44
+```bash
45
+$ docker daemon \
46
+    --log-driver=json-file \
47
+    --log-opt labels=foo \
48
+    --log-opt env=foo,fizz
41 49
 ```
42 50
 
43
-Then, run a container and specify values for the `labels` or `env`.  For example, you might use this:
51
+Then, run a container and specify values for the `labels` or `env`. For
52
+example, you might use this:
44 53
 
45
-```
46
-docker run --label foo=bar -e fizz=buzz -d -P training/webapp python app.py
54
+```bash
55
+$ docker run -dit --label foo=bar -e fizz=buzz alpine sh
47 56
 ```
48 57
 
49 58
 This adds additional fields to the log depending on the driver, e.g. for
50 59
 `json-file` that looks like:
51 60
 
52
-    "attrs":{"fizz":"buzz","foo":"bar"}
61
+```json
62
+"attrs":{"fizz":"buzz","foo":"bar"}
63
+```
53 64
 
54 65
 
55 66
 ## json-file options
56 67
 
57 68
 The following logging options are supported for the `json-file` logging driver:
58 69
 
59
-    --log-opt max-size=[0-9+][k|m|g]
60
-    --log-opt max-file=[0-9+]
61
-    --log-opt labels=label1,label2
62
-    --log-opt env=env1,env2
70
+```bash
71
+--log-opt max-size=[0-9+][k|m|g]
72
+--log-opt max-file=[0-9+]
73
+--log-opt labels=label1,label2
74
+--log-opt env=env1,env2
75
+```
63 76
 
64
-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.
77
+Logs that reach `max-size` are rolled over. You can set the size in
78
+kilobytes(k), megabytes(m), or gigabytes(g). eg `--log-opt max-size=50m`. If
79
+`max-size` is not set, then logs are not rolled over.
65 80
 
66
-`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.
81
+`max-file` specifies the maximum number of files that a log is rolled over
82
+before being discarded. eg `--log-opt max-file=100`. If `max-size` is not set,
83
+then `max-file` is not honored.
67 84
 
68
-If `max-size` and `max-file` are set, `docker logs` only returns the log lines from the newest log file.
85
+If `max-size` and `max-file` are set, `docker logs` only returns the log lines
86
+from the newest log file.
69 87
 
70 88
 
71 89
 ## syslog options
... ...
@@ -82,17 +103,20 @@ The following logging options are supported for the `syslog` logging driver:
82 82
     --log-opt tag="mailer"
83 83
     --log-opt syslog-format=[rfc5424|rfc3164] 
84 84
 
85
-`syslog-address` specifies the remote syslog server address where the driver connects to.
86
-If not specified it defaults to the local unix socket of the running system.
87
-If transport is either `tcp` or `udp` and `port` is not specified it defaults to `514`
88
-The following example shows how to have the `syslog` driver connect to a `syslog`
89
-remote server at `192.168.0.42` on port `123`
85
+`syslog-address` specifies the remote syslog server address where the driver
86
+connects to. If not specified it defaults to the local unix socket of the
87
+running system. If transport is either `tcp` or `udp` and `port` is not
88
+specified it defaults to `514` The following example shows how to have the
89
+`syslog` driver connect to a `syslog` remote server at `192.168.0.42` on port
90
+`123`
90 91
 
91
-    $ docker run --log-driver=syslog --log-opt syslog-address=tcp://192.168.0.42:123
92
+```bash
93
+$ docker run --log-driver=syslog --log-opt syslog-address=tcp://192.168.0.42:123
94
+```
92 95
 
93
-The `syslog-facility` option configures the syslog facility. By default, the system uses the
94
-`daemon` value. To override this behavior, you can provide an integer of 0 to 23 or any of
95
-the following named facilities:
96
+The `syslog-facility` option configures the syslog facility. By default, the
97
+system uses the `daemon` value. To override this behavior, you can provide an
98
+integer of 0 to 23 or any of the following named facilities:
96 99
 
97 100
 * `kern`
98 101
 * `user`
... ...
@@ -116,17 +140,18 @@ the following named facilities:
116 116
 * `local7`
117 117
 
118 118
 `syslog-tls-ca-cert` specifies the absolute path to the trust certificates
119
-signed by the CA. This option is ignored if the address protocol is not `tcp+tls`.
119
+signed by the CA. This option is ignored if the address protocol is not
120
+`tcp+tls`.
120 121
 
121
-`syslog-tls-cert` specifies the absolute path to the TLS certificate file.
122
-This option is ignored if the address protocol is not `tcp+tls`.
122
+`syslog-tls-cert` specifies the absolute path to the TLS certificate file. This
123
+option is ignored if the address protocol is not `tcp+tls`.
123 124
 
124
-`syslog-tls-key` specifies the absolute path to the TLS key file.
125
-This option is ignored if the address protocol is not `tcp+tls`.
125
+`syslog-tls-key` specifies the absolute path to the TLS key file. This option
126
+is ignored if the address protocol is not `tcp+tls`.
126 127
 
127
-`syslog-tls-skip-verify` configures the TLS verification.
128
-This verification is enabled by default, but it can be overriden by setting
129
-this option to `true`. This option is ignored if the address protocol is not `tcp+tls`.
128
+`syslog-tls-skip-verify` configures the TLS verification. This verification is
129
+enabled by default, but it can be overriden by setting this option to `true`.
130
+This option is ignored if the address protocol is not `tcp+tls`.
130 131
 
131 132
 By default, Docker uses the first 12 characters of the container ID to tag log messages.
132 133
 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
137 137
 Specify rfc3164 to perform logging in RFC-3164 compatible format. Specify rfc5424 to perform 
138 138
 logging in RFC-5424 compatible format
139 139
 
140
-
141 140
 ## journald options
142 141
 
143
-The `journald` logging driver stores the container id in the journal's `CONTAINER_ID` field. For detailed information on
144
-working with this logging driver, see [the journald logging driver](journald.md)
145
-reference documentation.
142
+The `journald` logging driver stores the container id in the journal's
143
+`CONTAINER_ID` field. For detailed information on working with this logging
144
+driver, see [the journald logging driver](journald.md) reference documentation.
146 145
 
147
-## gelf options
146
+## GELF options
148 147
 
149 148
 The GELF logging driver supports the following options:
150 149
 
151
-    --log-opt gelf-address=udp://host:port
152
-    --log-opt tag="database"
153
-    --log-opt labels=label1,label2
154
-    --log-opt env=env1,env2
155
-    --log-opt gelf-compression-type=gzip
156
-    --log-opt gelf-compression-level=1
150
+```bash
151
+--log-opt gelf-address=udp://host:port
152
+--log-opt tag="database"
153
+--log-opt labels=label1,label2
154
+--log-opt env=env1,env2
155
+--log-opt gelf-compression-type=gzip
156
+--log-opt gelf-compression-level=1
157
+```
157 158
 
158 159
 The `gelf-address` option specifies the remote GELF server address that the
159
-driver connects to. Currently, only `udp` is supported as the transport and you must
160
-specify a `port` value. The following example shows how to connect the `gelf`
161
-driver to a GELF remote server at `192.168.0.42` on port `12201`
160
+driver connects to. Currently, only `udp` is supported as the transport and you
161
+must specify a `port` value. The following example shows how to connect the
162
+`gelf` driver to a GELF remote server at `192.168.0.42` on port `12201`
163
+
164
+```bash
165
+$ docker run -dit \
166
+    --log-driver=gelf \
167
+    --log-opt gelf-address=udp://192.168.0.42:12201 \
168
+    alpine sh
169
+```
162 170
 
163
-    $ docker run --log-driver=gelf --log-opt gelf-address=udp://192.168.0.42:12201
164
-
165
-By default, Docker uses the first 12 characters of the container ID to tag log messages.
166
-Refer to the [log tag option documentation](log_tags.md) for customizing
167
-the log tag format.
171
+By default, Docker uses the first 12 characters of the container ID to tag log
172
+messages. Refer to the [log tag option documentation](log_tags.md) for
173
+customizing the log tag format.
168 174
 
169 175
 The `labels` and `env` options are supported by the gelf logging
170 176
 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
179 179
 compresses each log message. The accepted values are `gzip`, `zlib` and `none`.
180 180
 `gzip` is chosen by default.
181 181
 
182
-The `gelf-compression-level` option can be used to change the level of compresssion
183
-when `gzip` or `zlib` is selected as `gelf-compression-type`. Accepted value
184
-must be from from -1 to 9 (BestCompression). Higher levels typically
185
-run slower but compress more. Default value is 1 (BestSpeed).
182
+The `gelf-compression-level` option can be used to change the level of
183
+compresssion when `gzip` or `zlib` is selected as `gelf-compression-type`.
184
+Accepted value must be from from -1 to 9 (BestCompression). Higher levels
185
+typically run slower but compress more. Default value is 1 (BestSpeed).
186 186
 
187
-## fluentd options
187
+## Fluentd options
188 188
 
189
-You can use the `--log-opt NAME=VALUE` flag to specify these additional Fluentd logging driver options.
189
+You can use the `--log-opt NAME=VALUE` flag to specify these additional Fluentd
190
+logging driver options.
190 191
 
191 192
  - `fluentd-address`: specify `host:port` to connect [localhost:24224]
192 193
  - `tag`: specify tag for `fluentd` message
... ...
@@ -197,7 +229,13 @@ You can use the `--log-opt NAME=VALUE` flag to specify these additional Fluentd
197 197
 
198 198
 For example, to specify both additional options:
199 199
 
200
-`docker run --log-driver=fluentd --log-opt fluentd-address=localhost:24224 --log-opt tag=docker.{{.Name}}`
200
+```bash
201
+$ docker run -dit \
202
+    --log-driver=fluentd \
203
+    --log-opt fluentd-address=localhost:24224 \
204
+    --log-opt tag="docker.{{.Name}}" \
205
+    alpine sh
206
+```
201 207
 
202 208
 If container cannot connect to the Fluentd daemon on the specified address and
203 209
 `fluentd-async-connect` is not enabled, the container stops immediately.
... ...
@@ -205,42 +243,51 @@ For detailed information on working with this logging driver,
205 205
 see [the fluentd logging driver](fluentd.md)
206 206
 
207 207
 
208
-## Specify Amazon CloudWatch Logs options
208
+## Amazon CloudWatch Logs options
209 209
 
210 210
 The Amazon CloudWatch Logs logging driver supports the following options:
211 211
 
212
-    --log-opt awslogs-region=<aws_region>
213
-    --log-opt awslogs-group=<log_group_name>
214
-    --log-opt awslogs-stream=<log_stream_name>
215
-
212
+```bash
213
+--log-opt awslogs-region=<aws_region>
214
+--log-opt awslogs-group=<log_group_name>
215
+--log-opt awslogs-stream=<log_stream_name>
216
+```
216 217
 
217
-For detailed information on working with this logging driver, see [the awslogs logging driver](awslogs.md) reference documentation.
218
+For detailed information on working with this logging driver, see [the awslogs
219
+logging driver](awslogs.md) reference documentation.
218 220
 
219 221
 ## Splunk options
220 222
 
221 223
 The Splunk logging driver requires the following options:
222 224
 
223
-    --log-opt splunk-token=<splunk_http_event_collector_token>
224
-    --log-opt splunk-url=https://your_splunk_instance:8088
225
+```bash
226
+--log-opt splunk-token=<splunk_http_event_collector_token>
227
+--log-opt splunk-url=https://your_splunk_instance:8088
228
+```
225 229
 
226
-For detailed information about working with this logging driver, see the [Splunk logging driver](splunk.md)
227
-reference documentation.
230
+For detailed information about working with this logging driver, see the
231
+[Splunk logging driver](splunk.md) reference documentation.
228 232
 
229 233
 ## ETW logging driver options
230 234
 
231
-The etwlogs logging driver does not require any options to be specified. This logging driver will forward each log message
232
-as an ETW event. An ETW listener can then be created to listen for these events. 
235
+The etwlogs logging driver does not require any options to be specified. This
236
+logging driver forwards each log message as an ETW event. An ETW listener
237
+can then be created to listen for these events.
233 238
 
234
-For detailed information on working with this logging driver, see [the ETW logging driver](etwlogs.md) reference documentation.
239
+The ETW logging driver is only available on Windows. For detailed information
240
+on working with this logging driver, see [the ETW logging driver](etwlogs.md)
241
+reference documentation.
235 242
 
236
-## Google Cloud Logging
243
+## Google Cloud Logging options
237 244
 
238 245
 The Google Cloud Logging driver supports the following options:
239 246
 
240
-    --log-opt gcp-project=<gcp_projext>
241
-    --log-opt labels=<label1>,<label2>
242
-    --log-opt env=<envvar1>,<envvar2>
243
-    --log-opt log-cmd=true
247
+```bash
248
+--log-opt gcp-project=<gcp_projext>
249
+--log-opt labels=<label1>,<label2>
250
+--log-opt env=<envvar1>,<envvar2>
251
+--log-opt log-cmd=true
252
+```
244 253
 
245
-For detailed information about working with this logging driver, see the [Google Cloud Logging driver](gcplogs.md).
246
-reference documentation.
254
+For detailed information about working with this logging driver, see the
255
+[Google Cloud Logging driver](gcplogs.md). reference documentation.
... ...
@@ -6,7 +6,6 @@ description = "Describes how to use the Splunk logging driver."
6 6
 keywords = ["splunk, docker, logging, driver"]
7 7
 [menu.main]
8 8
 parent = "smn_logging"
9
-weight = 2
10 9
 +++
11 10
 <![end-metadata]-->
12 11
 
... ...
@@ -123,7 +123,7 @@ If you fail to specify an empty configuration, Docker reports an error such as:
123 123
 
124 124
 This example overrides the default `docker.service` file.
125 125
 
126
-If you are behind a HTTP proxy server, for example in corporate settings,
126
+If you are behind an HTTP proxy server, for example in corporate settings,
127 127
 you will need to add this configuration in the Docker systemd service file.
128 128
 
129 129
 First, create a systemd drop-in directory for the docker service:
... ...
@@ -1,7 +1,7 @@
1 1
 <!--[metadata]>
2 2
 +++
3 3
 title = "Dockerizing a Redis service"
4
-description = "Installing and running an redis service"
4
+description = "Installing and running a redis service"
5 5
 keywords = ["docker, example, package installation, networking,  redis"]
6 6
 [menu.main]
7 7
 parent = "engine_dockerize"
... ...
@@ -52,6 +52,7 @@ Plugin
52 52
 [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.
53 53
 [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.
54 54
 [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.
55
+[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.
55 56
 [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.
56 57
 [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).
57 58
 [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
64 64
 [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.
65 65
 [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.
66 66
 [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.
67
+[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. 
67 68
 
68 69
 ### Authorization plugins
69 70
 
... ...
@@ -26,7 +26,7 @@ version, open a terminal and use `uname -r` to display your kernel version:
26 26
     $ uname -r
27 27
     3.19.5-100.fc21.x86_64
28 28
 
29
-If your kernel is at a older version, you must update it.
29
+If your kernel is at an older version, you must update it.
30 30
 
31 31
 Finally, is it recommended that you fully update your system. Please keep in
32 32
 mind that your system should be fully patched to fix any potential kernel bugs. Any
... ...
@@ -391,7 +391,7 @@ To specify a DNS server for use by Docker:
391 391
 
392 392
 5. Restart the Docker daemon.
393 393
 
394
-        $ sudo restart docker
394
+        $ sudo service docker restart
395 395
 
396 396
 
397 397
 &nbsp;
... ...
@@ -85,7 +85,7 @@ Docker container using standard localhost addressing such as `localhost:8000` or
85 85
 
86 86
 ![Linux Architecture Diagram](images/linux_docker_host.svg)
87 87
 
88
-In an Windows installation, the `docker` daemon is running inside a Linux virtual
88
+In a Windows installation, the `docker` daemon is running inside a Linux virtual
89 89
 machine. You use the Windows Docker client to talk to the Docker host VM. Your
90 90
 Docker containers run inside this host.
91 91
 
... ...
@@ -1127,7 +1127,7 @@ following section.
1127 1127
 
1128 1128
 `GET /containers/(id or name)/archive`
1129 1129
 
1130
-Get an tar archive of a resource in the filesystem of container `id`.
1130
+Get a tar archive of a resource in the filesystem of container `id`.
1131 1131
 
1132 1132
 Query Parameters:
1133 1133
 
... ...
@@ -1210,7 +1210,7 @@ following section.
1210 1210
 
1211 1211
 `GET /containers/(id or name)/archive`
1212 1212
 
1213
-Get an tar archive of a resource in the filesystem of container `id`.
1213
+Get a tar archive of a resource in the filesystem of container `id`.
1214 1214
 
1215 1215
 Query Parameters:
1216 1216
 
... ...
@@ -1389,7 +1389,7 @@ following section.
1389 1389
 
1390 1390
 `GET /containers/(id or name)/archive`
1391 1391
 
1392
-Get an tar archive of a resource in the filesystem of container `id`.
1392
+Get a tar archive of a resource in the filesystem of container `id`.
1393 1393
 
1394 1394
 Query Parameters:
1395 1395
 
... ...
@@ -1419,7 +1419,7 @@ following section.
1419 1419
 
1420 1420
 `GET /containers/(id or name)/archive`
1421 1421
 
1422
-Get an tar archive of a resource in the filesystem of container `id`.
1422
+Get a tar archive of a resource in the filesystem of container `id`.
1423 1423
 
1424 1424
 Query Parameters:
1425 1425
 
... ...
@@ -11,24 +11,22 @@ weight = 90
11 11
 
12 12
 # Docker Remote API client libraries
13 13
 
14
-These libraries have not been tested by the Docker maintainers for
15
-compatibility. Please file issues with the library owners. If you find
16
-more library implementations, please list them in Docker doc bugs and we
17
-will add the libraries here.
14
+These libraries make it easier to build applications on top of the Docker
15
+Remote API with various programming languages. They have not been tested by the
16
+Docker maintainers for compatibility, so if you run into any issues, file them
17
+with the library maintainers.
18 18
 
19 19
 <table border="1" class="docutils">
20 20
   <colgroup>
21
-    <col width="24%">
22
-    <col width="17%">
21
+    <col width="29%">
22
+    <col width="23%">
23 23
     <col width="48%">
24
-    <col width="11%">
25 24
   </colgroup>
26 25
   <thead valign="bottom">
27 26
     <tr>
28 27
       <th class="head">Language/Framework</th>
29 28
       <th class="head">Name</th>
30 29
       <th class="head">Repository</th>
31
-      <th class="head">Status</th>
32 30
     </tr>
33 31
   </thead>
34 32
   <tbody valign = "top">
... ...
@@ -36,122 +34,101 @@ will add the libraries here.
36 36
       <td>C#</td>
37 37
       <td>Docker.DotNet</td>
38 38
       <td><a class="reference external" href="https://github.com/ahmetalpbalkan/Docker.DotNet">https://github.com/ahmetalpbalkan/Docker.DotNet</a></td>
39
-      <td>Active</td>
40 39
     </tr>
41 40
     <tr>
42 41
       <td>C++</td>
43 42
       <td>lasote/docker_client</td>
44 43
       <td><a class="reference external" href="https://github.com/lasote/docker_client">https://github.com/lasote/docker_client</a></td>
45
-      <td>Active</td>
46 44
     </tr>
47 45
     <tr>
48 46
       <td>Erlang</td>
49 47
       <td>erldocker</td>
50 48
       <td><a class="reference external" href="https://github.com/proger/erldocker">https://github.com/proger/erldocker</a></td>
51
-      <td>Active</td>
52 49
     </tr>
53 50
     <tr>
54 51
       <td>Dart</td>
55 52
       <td>bwu_docker</td>
56 53
       <td><a class="reference external" href="https://github.com/bwu-dart/bwu_docker">https://github.com/bwu-dart/bwu_docker</a></td>
57
-      <td>Active</td>
58 54
     </tr>
59 55
     <tr>
60 56
       <td>Go</td>
61 57
       <td>engine-api</td>
62 58
       <td><a class="reference external" href="https://github.com/docker/engine-api">https://github.com/docker/engine-api</a></td>
63
-      <td>Active</td>
64 59
     </tr>
65 60
     <tr>
66 61
       <td>Gradle</td>
67 62
       <td>gradle-docker-plugin</td>
68 63
       <td><a class="reference external" href="https://github.com/gesellix/gradle-docker-plugin">https://github.com/gesellix/gradle-docker-plugin</a></td>
69
-      <td>Active</td>
70 64
     </tr>
71 65
     <tr>
72 66
       <td>Groovy</td>
73 67
       <td>docker-client</td>
74 68
       <td><a class="reference external" href="https://github.com/gesellix/docker-client">https://github.com/gesellix/docker-client</a></td>
75
-      <td>Active</td>
76 69
     </tr>
77 70
     <tr>
78 71
       <td>Haskell</td>
79 72
       <td>docker-hs</td>
80 73
       <td><a class="reference external" href="https://github.com/denibertovic/docker-hs">https://github.com/denibertovic/docker-hs</a></td>
81
-      <td>Active</td>
82 74
     </tr>
83 75
     <tr>
84 76
       <td>HTML (Web Components)</td>
85 77
       <td>docker-elements</td>
86 78
       <td><a class="reference external" href="https://github.com/kapalhq/docker-elements">https://github.com/kapalhq/docker-elements</a></td>
87
-      <td>Active</td>
88 79
     </tr>
89 80
     <tr>
90 81
       <td>Java</td>
91 82
       <td>docker-java</td>
92 83
       <td><a class="reference external" href="https://github.com/docker-java/docker-java">https://github.com/docker-java/docker-java</a></td>
93
-      <td>Active</td>
94 84
     </tr>
95 85
     <tr>
96 86
       <td>Java</td>
97 87
       <td>docker-client</td>
98 88
       <td><a class="reference external" href="https://github.com/spotify/docker-client">https://github.com/spotify/docker-client</a></td>
99
-      <td>Active</td>
100 89
     </tr>
101 90
     <tr>
102 91
       <td>NodeJS</td>
103 92
       <td>dockerode</td>
104
-      <td><a class="reference external" href="https://github.com/apocas/dockerode">https://github.com/apocas/dockerode</a>
105
-  Install via NPM: <cite>npm install dockerode</cite></td>
106
-      <td>Active</td>
93
+      <td><a class="reference external" href="https://github.com/apocas/dockerode">https://github.com/apocas/dockerode</a></td>
107 94
     </tr>
108 95
     <tr>
109 96
       <td>Perl</td>
110 97
       <td>Eixo::Docker</td>
111 98
       <td><a class="reference external" href="https://github.com/alambike/eixo-docker">https://github.com/alambike/eixo-docker</a></td>
112
-      <td>Active</td>
113 99
     </tr>
114 100
     <tr>
115 101
       <td>PHP</td>
116 102
       <td>Docker-PHP</td>
117 103
       <td><a class="reference external" href="https://github.com/docker-php/docker-php">https://github.com/docker-php/docker-php</a></td>
118
-      <td>Active</td>
119 104
     </tr>
120 105
     <tr>
121 106
       <td>Python</td>
122 107
       <td>docker-py</td>
123 108
       <td><a class="reference external" href="https://github.com/docker/docker-py">https://github.com/docker/docker-py</a></td>
124
-      <td>Active</td>
125 109
     </tr>
126 110
     <tr>
127 111
       <td>Ruby</td>
128 112
       <td>docker-api</td>
129 113
       <td><a class="reference external" href="https://github.com/swipely/docker-api">https://github.com/swipely/docker-api</a></td>
130
-      <td>Active</td>
131 114
     </tr>
132 115
     <tr>
133 116
       <td>Rust</td>
134 117
       <td>docker-rust</td>
135 118
       <td><a class="reference external" href="https://github.com/abh1nav/docker-rust">https://github.com/abh1nav/docker-rust</a></td>
136
-      <td>Active</td>
137 119
     </tr>
138 120
     <tr>
139 121
       <td>Rust</td>
140 122
       <td>shiplift</td>
141 123
       <td><a class="reference external" href="https://github.com/softprops/shiplift">https://github.com/softprops/shiplift</a></td>
142
-      <td>Active</td>
143 124
     </tr>
144 125
     <tr>
145 126
       <td>Scala</td>
146 127
       <td>tugboat</td>
147 128
       <td><a class="reference external" href="https://github.com/softprops/tugboat">https://github.com/softprops/tugboat</a></td>
148
-      <td>Active</td>
149 129
     </tr>
150 130
     <tr>
151 131
       <td>Scala</td>
152 132
       <td>reactive-docker</td>
153 133
       <td><a class="reference external" href="https://github.com/almoehi/reactive-docker">https://github.com/almoehi/reactive-docker</a></td>
154
-      <td>Active</td>
155 134
     </tr>
156 135
   </tbody>
157 136
 </table>
... ...
@@ -51,8 +51,8 @@ foreground over a slow client connection. Instead, users should use the
51 51
 
52 52
 ## Override the detach sequence
53 53
 
54
-If you want, you can configure a override the Docker key sequence for detach.
55
-This is is useful if the Docker default sequence conflicts with key squence you
54
+If you want, you can configure an override the Docker key sequence for detach.
55
+This is useful if the Docker default sequence conflicts with key sequence you
56 56
 use for other applications. There are two ways to defines a your own detach key
57 57
 sequence, as a per-container override or as a configuration property on  your
58 58
 entire configuration.
... ...
@@ -79,7 +79,11 @@ Build Syntax Suffix | Commit Used | Build Context Used
79 79
 Instead of specifying a context, you can pass a single Dockerfile in the `URL`
80 80
 or pipe the file in via `STDIN`. To pipe a Dockerfile from `STDIN`:
81 81
 
82
-    docker build - < Dockerfile
82
+    $ docker build - < Dockerfile
83
+
84
+With Powershell on Windows, you can run:
85
+
86
+    Get-Content Dockerfile | docker build -
83 87
 
84 88
 If you use STDIN or specify a `URL`, the system places the contents into a file
85 89
 called `Dockerfile`, and any `-f`, `--file` option is ignored. In this
... ...
@@ -1,6 +1,7 @@
1 1
 <!--[metadata]>
2 2
 +++
3 3
 title = "daemon"
4
+aliases = ["/engine/reference/commandline/dockerd/", "/engine/reference/commandline/dockerd.md"]
4 5
 description = "The daemon command description and usage"
5 6
 keywords = ["container, daemon, runtime"]
6 7
 [menu.main]
... ...
@@ -88,7 +89,7 @@ membership.
88 88
 If you need to access the Docker daemon remotely, you need to enable the `tcp`
89 89
 Socket. Beware that the default setup provides un-encrypted and
90 90
 un-authenticated direct access to the Docker daemon - and should be secured
91
-either using the [built in HTTPS encrypted socket](../../security/https/), or by
91
+either using the [built in HTTPS encrypted socket](../../security/https.md), or by
92 92
 putting a secure web proxy in front of it. You can listen on port `2375` on all
93 93
 network interfaces with `-H tcp://0.0.0.0:2375`, or on a particular network
94 94
 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`.
569 569
 
570 570
 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.
571 571
 
572
-## Running a Docker daemon behind a HTTPS_PROXY
572
+## Running a Docker daemon behind an HTTPS_PROXY
573 573
 
574
-When running inside a LAN that uses a `HTTPS` proxy, the Docker Hub
574
+When running inside a LAN that uses an `HTTPS` proxy, the Docker Hub
575 575
 certificates will be replaced by the proxy's certificates. These certificates
576 576
 need to be added to your Docker host's configuration:
577 577
 
... ...
@@ -956,3 +957,59 @@ has been provided in flags and `cluster-advertise` not, `cluster-advertise`
956 956
 can be added in the configuration file without accompanied by `--cluster-store`
957 957
 Configuration reload will log a warning message if it detects a change in
958 958
 previously configured cluster configurations.
959
+
960
+
961
+## Running multiple daemons
962
+
963
+> **Note:** Running multiple daemons on a single host is considered as "experimental". The user should be aware of
964
+> unsolved problems. This solution may not work properly in some cases. Solutions are currently under development
965
+> and will be delivered in the near future.
966
+
967
+This section describes how to run multiple Docker daemons on a single host. To
968
+run multiple daemons, you must configure each daemon so that it does not
969
+conflict with other daemons on the same host. You can set these options either
970
+by providing them as flags, or by using a [daemon configuration file](#daemon-configuration-file).
971
+
972
+The following daemon options must be configured for each daemon:
973
+
974
+```bash
975
+-b, --bridge=                          Attach containers to a network bridge
976
+--exec-root=/var/run/docker            Root of the Docker execdriver
977
+-g, --graph=/var/lib/docker            Root of the Docker runtime
978
+-p, --pidfile=/var/run/docker.pid      Path to use for daemon PID file
979
+-H, --host=[]                          Daemon socket(s) to connect to
980
+--config-file=/etc/docker/daemon.json  Daemon configuration file
981
+--tlscacert="~/.docker/ca.pem"         Trust certs signed only by this CA
982
+--tlscert="~/.docker/cert.pem"         Path to TLS certificate file
983
+--tlskey="~/.docker/key.pem"           Path to TLS key file
984
+```
985
+
986
+When your daemons use different values for these flags, you can run them on the same host without any problems.
987
+It is very important to properly understand the meaning of those options and to use them correctly.
988
+
989
+- The `-b, --bridge=` flag is set to `docker0` as default bridge network. It is created automatically when you install Docker.
990
+If you are not using the default, you must create and configure the bridge manually or just set it to 'none': `--bridge=none`
991
+- `--exec-root` is the path where the container state is stored. The default value is `/var/run/docker`. Specify the path for
992
+your running daemon here.
993
+- `--graph` is the path where images are stored. The default value is `/var/lib/docker`. To avoid any conflict with other daemons
994
+set this parameter separately for each daemon.
995
+- `-p, --pidfile=/var/run/docker.pid` is the path where the process ID of the daemon is stored. Specify the path for your
996
+pid file here.
997
+- `--host=[]` specifies where the Docker daemon will listen for client connections. If unspecified, it defaults to `/var/run/docker.sock`.
998
+- `--config-file=/etc/docker/daemon.json` is the path where configuration file is stored. You can use it instead of
999
+daemon flags. Specify the path for each daemon.
1000
+- `--tls*` Docker daemon supports `--tlsverify` mode that enforces encrypted and authenticated remote connections.
1001
+The `--tls*` options enable use of specific certificates for individual daemons.
1002
+
1003
+Example script for a separate “bootstrap” instance of the Docker daemon without network:
1004
+
1005
+```bash
1006
+$ docker daemon \
1007
+        -H unix:///var/run/docker-bootstrap.sock \
1008
+        -p /var/run/docker-bootstrap.pid \
1009
+        --iptables=false \
1010
+        --ip-masq=false \
1011
+        --bridge=none \
1012
+        --graph=/var/lib/docker-bootstrap \
1013
+        --exec-root=/var/run/docker-bootstrap
1014
+```
... ...
@@ -101,7 +101,7 @@ disconnect` command.
101 101
 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:
102 102
 
103 103
 ```bash
104
-docker network create -d --subnet=192.168.0.0/16
104
+docker network create --driver=bridge --subnet=192.168.0.0/16 br0
105 105
 ```
106 106
 Additionally, you also specify the `--gateway` `--ip-range` and `--aux-address` options.
107 107
 
... ...
@@ -29,7 +29,7 @@ use `docker pull`.
29 29
 
30 30
 ## Proxy configuration
31 31
 
32
-If you are behind a HTTP proxy server, for example in corporate settings,
32
+If you are behind an HTTP proxy server, for example in corporate settings,
33 33
 before open a connect to registry, you may need to configure the Docker
34 34
 daemon's proxy settings, using the `HTTP_PROXY`, `HTTPS_PROXY`, and `NO_PROXY`
35 35
 environment variables. To set these environment variables on a host using
... ...
@@ -12,7 +12,7 @@ parent = "smn_secure_docker"
12 12
 # Protect the Docker daemon socket
13 13
 
14 14
 By default, Docker runs via a non-networked Unix socket. It can also
15
-optionally communicate using a HTTP socket.
15
+optionally communicate using an HTTP socket.
16 16
 
17 17
 If you need Docker to be reachable via the network in a safe manner, you can
18 18
 enable TLS by specifying the `tlsverify` flag and pointing Docker's
... ...
@@ -107,7 +107,7 @@ Trust for an image tag is managed through the use of signing keys. A key set is
107 107
 created when an operation using content trust is first invoked. A key set consists
108 108
 of the following classes of keys:
109 109
 
110
-- an offline key that is the root of content trust for a image tag
110
+- an offline key that is the root of content trust for an image tag
111 111
 - repository or tagging keys that sign tags
112 112
 - server-managed keys such as the timestamp key, which provides freshness
113 113
 	security guarantees for your repository
... ...
@@ -67,7 +67,7 @@ e is 65537 (0x10001)
67 67
 They should keep `delegation.key` private - this is what they will use to sign
68 68
 tags.
69 69
 
70
-Then they need to generate a x509 certificate containing the public key, which is
70
+Then they need to generate an x509 certificate containing the public key, which is
71 71
 what they will give to you.  Here is the command to generate a CSR (certificate
72 72
 signing request):
73 73
 
... ...
@@ -15,7 +15,7 @@ trust makes use of five different types of keys:
15 15
 
16 16
 | Key                 | Description                                                                                                                                                                                                                                                                                                                                                                         |
17 17
 |---------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------|
18
-| 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. |
18
+| 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. |
19 19
 | 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. |
20 20
 | snapshot         | This key signs the current collection of image tags, preventing mix and match attacks.
21 21
 | timestamp        | This key allows Docker image repositories to have freshness security guarantees without requiring periodic content refreshes on the client's side. |
... ...
@@ -87,7 +87,7 @@ Go to [Docker Machine user guide](https://docs.docker.com/machine/).
87 87
 
88 88
 ### Docker Compose
89 89
 
90
-Docker Compose allows you to define a application's components -- their containers,
90
+Docker Compose allows you to define an application's components -- their containers,
91 91
 configuration, links and volumes -- in a single file. Then a single command
92 92
 will set everything up and start your application running.
93 93
 
... ...
@@ -43,8 +43,8 @@ attaching to a tty-enabled container (i.e.: launched with `-t`).
43 43
 
44 44
 # Override the detach sequence
45 45
 
46
-If you want, you can configure a override the Docker key sequence for detach.
47
-This is is useful if the Docker default sequence conflicts with key squence you
46
+If you want, you can configure an override the Docker key sequence for detach.
47
+This is useful if the Docker default sequence conflicts with key sequence you
48 48
 use for other applications. There are two ways to defines a your own detach key
49 49
 sequence, as a per-container override or as a configuration property on  your
50 50
 entire configuration.
... ...
@@ -223,7 +223,7 @@ output:
223 223
 You can get more information about how to write a Go template from:
224 224
 https://golang.org/pkg/text/template/.
225 225
 
226
-## Getting size information on an container
226
+## Getting size information on a container
227 227
 
228 228
     $ docker inspect -s d2cc496561d6
229 229
     [
... ...
@@ -217,7 +217,7 @@ See **config-json(5)** for documentation on using a configuration file.
217 217
    Limit write rate to a device (e.g. --device-write-bps=/dev/sda:1mb)
218 218
 
219 219
 **--device-write-iops**=[]
220
-   Limit write rate a a device (e.g. --device-write-iops=/dev/sda:1000)
220
+   Limit write rate to a device (e.g. --device-write-iops=/dev/sda:1000)
221 221
 
222 222
 **--dns-search**=[]
223 223
    Set custom DNS search domains (Use --dns-search=. if you don't wish to set the search domain)