Skip to content

Commit

Permalink
Add more info re: Hyper-V driver for Docker Machine on Windows, clean…
Browse files Browse the repository at this point in the history
…up, link topics together (docker#4609)

* add more links and info re: Hyper-V driver for Docker Machine on Windows

Signed-off-by: Victoria Bialas <victoria.bialas@docker.com>

* added info on where Machine data lives

Signed-off-by: Victoria Bialas <victoria.bialas@docker.com>

* added information about the Hyper-V Manager

Signed-off-by: Victoria Bialas <victoria.bialas@docker.com>

* linked between docker-machine create command and other relevant topics

Signed-off-by: Victoria Bialas <victoria.bialas@docker.com>

* copyedits

Signed-off-by: Victoria Bialas <victoria.bialas@docker.com>

* copyedits, added Examples heading to create driver

Signed-off-by: Victoria Bialas <victoria.bialas@docker.com>

* clarifed docker-machine create example

Signed-off-by: Victoria Bialas <victoria.bialas@docker.com>
  • Loading branch information
londoncalling authored Sep 13, 2017
1 parent e750dca commit 1f99dfa
Show file tree
Hide file tree
Showing 5 changed files with 49 additions and 2 deletions.
14 changes: 14 additions & 0 deletions docker-for-windows/troubleshoot.md
Original file line number Diff line number Diff line change
Expand Up @@ -325,6 +325,20 @@ off".
![Hyper-V on Windows features](images/hyper-v-enable-status.png )
#### Hyper-V driver for Docker Machine
Docker for Windows comes with the legacy tool Docker Machine which uses the old
[`boot2docker.iso`](https://github.com/boot2docker/boot2docker){:
target="_blank" class="_"}, and the [Microsoft Hyper-V
driver](/machine/drivers/hyper-v.md) to create local virtual machines. _This is
tangential to using Docker for Windows_, but if you want to use Docker Machine
to create multiple local VMs, or to provision remote machines, see the [Docker
Machine](/machine/index.md) topics. We mention this here only in case someone is
looking for information about Docker Machine on Windows, which requires that
Hyper-V is enabled, an external network switch is active, and referenced in the
flags for the `docker-machine create` command [as described in the Docker
Machine driver example](/machine/drivers/hyper-v.md#example).
### Virtualization must be enabled
In addition to [Hyper-V](#hyper-v), virtualization must be enabled.
Expand Down
14 changes: 14 additions & 0 deletions machine/drivers/hyper-v.md
Original file line number Diff line number Diff line change
Expand Up @@ -134,3 +134,17 @@ you can create these swarm nodes: `manager1`, `worker1`, `worker2`.
docker-machine create -d hyperv --hyperv-virtual-switch "Primary Virtual Switch" worker1
docker-machine create -d hyperv --hyperv-virtual-switch "Primary Virtual Switch" worker2
```

## Where to go next

As a point of interest, the virtual machines you create with the
[`docker-machine create`](/machine/reference/create.md) command show up in the
Hyper-V Manager under "Virtual Machines", but you need to manage them with
[`docker-machine`](/machine/reference/index.md) commands not through the Hyper-V
Manager.

To get started using `docker-machine` commands, see these topics:

* [Run containers and experiment with Machine commands](/machine/get-started.md#run-containers-and-experiment-with-machine-commands) and the introductory topics that follow

* [Docker Machine commmand line reference](/machine/reference/index.md)
2 changes: 1 addition & 1 deletion machine/get-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ choose another name for this new machine.

* If you are using Toolbox on Mac, Toolbox on older Windows systems without Hyper-V, or Docker for Mac, use `virtualbox` as the driver, as shown in this example. (The Docker Machine VirtualBox driver reference is [here](drivers/virtualbox.md).) (See [prerequisites](get-started.md#prerequisite-information) above to learn more.)

* On Docker for Windows systems that support Hyper-V, use the `hyperv` driver as shown in the [Docker Machine Microsoft Hyper-V driver reference](drivers/hyper-v.md). (See [prerequisites](get-started.md#prerequisite-information) above to learn more.)
* On Docker for Windows systems that support Hyper-V, use the `hyperv` driver as shown in the [Docker Machine Microsoft Hyper-V driver reference](drivers/hyper-v.md) and follow the [example](/machine/drivers/hyper-v.md#example), which shows how to use an external network switch and provides the flags for the full command. (See [prerequisites](get-started.md#prerequisite-information) above to learn more.)

$ docker-machine create --driver virtualbox default
Running pre-create checks...
Expand Down
10 changes: 9 additions & 1 deletion machine/install-machine.md
Original file line number Diff line number Diff line change
Expand Up @@ -94,13 +94,21 @@ To uninstall Docker Machine:

To remove each machine individually: `docker-machine rm <machine-name>`

To remove all machines: `docker-machine rm -f $(docker-machine ls -q)`
To remove all machines: `docker-machine rm -f $(docker-machine ls -q)` (you might need to use `-force` on Windows)

Removing machines is an optional step because there are cases where you might
want to save and migrate existing machines to a [Docker for
Mac](/docker-for-mac/index.md) or [Docker for
Windows](/docker-for-windows/index.md) environment, for example.

>**Note**: As a point of information, the `config.json`, certificates,
and other data related to each virtual machine created by `docker-machine`
is stored in `~/.docker/machine/machines/` on Mac and Linux and in
`~\.docker\machine\machines\` on Windows. We recommend that you do not edit or
remove those files directly as this will only affect information for the Docker
CLI, not the actual VMs, regardless of whether they are local or on remote
servers.

## Where to go next

- [Docker Machine overview](overview.md)
Expand Down
11 changes: 11 additions & 0 deletions machine/reference/create.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,17 @@ Create a machine. Requires the `--driver` flag to indicate which provider
(VirtualBox, DigitalOcean, AWS, etc.) the machine should be created on, and an
argument to indicate the name of the created machine.

> Looking for the full list of available drivers?
>
>For a full list of drivers that work with `docker-machine create` and
information on how to use them, see [Machine
drivers](/machine/drivers/index.md).
{: .important}

## Example

Here is an example of using the `--virtualbox` driver to create a machine called `dev`.

```none
$ docker-machine create --driver virtualbox dev
Creating CA: /home/username/.docker/machine/certs/ca.pem
Expand Down

0 comments on commit 1f99dfa

Please sign in to comment.