Windows: Default to Hyper-V Containers on client

Signed-off-by: John Howard <jhoward@microsoft.com>
This commit is contained in:
John Howard 2016-04-14 17:12:02 -07:00 committed by Tibor Vass
parent 19318687b0
commit 6d54461bd8
6 changed files with 22 additions and 8 deletions

View File

@ -164,7 +164,8 @@ Linux namespaces. On Microsoft Windows, you can specify these values:
| Value | Description | | Value | Description |
|-----------|---------------------------------------------------------------------------------------------------------------------------------------------------------------| |-----------|---------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `default` | Use the value specified by the Docker daemon's `--exec-opt` . If the `daemon` does not specify an isolation technology, Microsoft Windows uses `process` as its default value. | | `default` | Use the value specified by the Docker daemon's `--exec-opt` . If the `daemon` does not specify an isolation technology, Microsoft Windows uses `process` as its default value if the
daemon is running on Windows server, or `hyperv` if running on Windows client. |
| `process` | Namespace isolation only. | | `process` | Namespace isolation only. |
| `hyperv` | Hyper-V hypervisor partition-based isolation. | | `hyperv` | Hyper-V hypervisor partition-based isolation. |

View File

@ -527,8 +527,9 @@ can specify default container isolation technology with this, for example:
$ dockerd --exec-opt isolation=hyperv $ dockerd --exec-opt isolation=hyperv
Will make `hyperv` the default isolation technology on Windows, without specifying Will make `hyperv` the default isolation technology on Windows. If no isolation
isolation value on daemon start, Windows isolation technology will default to `process`. value is specified on daemon start, on Windows client, the default is
`hyperv`, and on Windows server, the default is `process`.
## Daemon DNS options ## Daemon DNS options

View File

@ -618,14 +618,16 @@ On Microsoft Windows, can take any of these values:
| `process` | Namespace isolation only. | | `process` | Namespace isolation only. |
| `hyperv` | Hyper-V hypervisor partition-based isolation. | | `hyperv` | Hyper-V hypervisor partition-based isolation. |
In practice, when running on Microsoft Windows without a `daemon` option set, these two commands are equivalent: On Windows, the default isolation for client is `hyperv`, and for server is
`process`. Therefore when running on Windows server without a `daemon` option
set, these two commands are equivalent:
``` ```
$ docker run -d --isolation default busybox top $ docker run -d --isolation default busybox top
$ docker run -d --isolation process busybox top $ docker run -d --isolation process busybox top
``` ```
If you have set the `--exec-opt isolation=hyperv` option on the Docker `daemon`, any of these commands also result in `hyperv` isolation: If you have set the `--exec-opt isolation=hyperv` option on the Docker `daemon`,
if running on Windows server, any of these commands also result in `hyperv` isolation:
``` ```
$ docker run -d --isolation default busybox top $ docker run -d --isolation default busybox top

View File

@ -197,7 +197,9 @@ two memory nodes.
'host': use the host shared memory,semaphores and message queues inside the container. Note: the host mode gives the container full access to local shared memory and is therefore considered insecure. 'host': use the host shared memory,semaphores and message queues inside the container. Note: the host mode gives the container full access to local shared memory and is therefore considered insecure.
**--isolation**="*default*" **--isolation**="*default*"
Isolation specifies the type of isolation technology used by containers. Isolation specifies the type of isolation technology used by containers. Note
that the default on Windows server is `process`, and the default on Windows client
is `hyperv`. Linux only supports `default`.
**--kernel-memory**="" **--kernel-memory**=""
Kernel memory limit (format: `<number>[<unit>]`, where unit = b, k, m or g) Kernel memory limit (format: `<number>[<unit>]`, where unit = b, k, m or g)

View File

@ -297,7 +297,9 @@ redirection on the host system.
'host': use the host shared memory,semaphores and message queues inside the container. Note: the host mode gives the container full access to local shared memory and is therefore considered insecure. 'host': use the host shared memory,semaphores and message queues inside the container. Note: the host mode gives the container full access to local shared memory and is therefore considered insecure.
**--isolation**="*default*" **--isolation**="*default*"
Isolation specifies the type of isolation technology used by containers. Isolation specifies the type of isolation technology used by containers. Note
that the default on Windows server is `process`, and the default on Windows client
is `hyperv`. Linux only supports `default`.
**-l**, **--label**=[] **-l**, **--label**=[]
Set metadata on the container (e.g., --label com.example.key=value) Set metadata on the container (e.g., --label com.example.key=value)

View File

@ -39,6 +39,7 @@ dockerd - Enable daemon mode
[**--ip-masq**[=*true*]] [**--ip-masq**[=*true*]]
[**--iptables**[=*true*]] [**--iptables**[=*true*]]
[**--ipv6**] [**--ipv6**]
[**--isolation**[=*default*]]
[**-l**|**--log-level**[=*info*]] [**-l**|**--log-level**[=*info*]]
[**--label**[=*[]*]] [**--label**[=*[]*]]
[**--log-driver**[=*json-file*]] [**--log-driver**[=*json-file*]]
@ -183,6 +184,11 @@ unix://[/path/to/socket] to use.
**--ipv6**=*true*|*false* **--ipv6**=*true*|*false*
Enable IPv6 support. Default is false. Docker will create an IPv6-enabled bridge with address fe80::1 which will allow you to create IPv6-enabled containers. Use together with `--fixed-cidr-v6` to provide globally routable IPv6 addresses. IPv6 forwarding will be enabled if not used with `--ip-forward=false`. This may collide with your host's current IPv6 settings. For more information please consult the documentation about "Advanced Networking - IPv6". Enable IPv6 support. Default is false. Docker will create an IPv6-enabled bridge with address fe80::1 which will allow you to create IPv6-enabled containers. Use together with `--fixed-cidr-v6` to provide globally routable IPv6 addresses. IPv6 forwarding will be enabled if not used with `--ip-forward=false`. This may collide with your host's current IPv6 settings. For more information please consult the documentation about "Advanced Networking - IPv6".
**--isolation**="*default*"
Isolation specifies the type of isolation technology used by containers. Note
that the default on Windows server is `process`, and the default on Windows client
is `hyperv`. Linux only supports `default`.
**-l**, **--log-level**="*debug*|*info*|*warn*|*error*|*fatal*" **-l**, **--log-level**="*debug*|*info*|*warn*|*error*|*fatal*"
Set the logging level. Default is `info`. Set the logging level. Default is `info`.