Merge pull request #416 from mstanleyjones/fix_machine_migration

Fix machine migration
This commit is contained in:
Victoria Bialas 2016-11-02 14:14:46 -07:00 committed by GitHub
commit e55be87a34
6 changed files with 33 additions and 9 deletions

View File

@ -42,6 +42,22 @@ subcommand outputs the configuration command you should use.
For a complete list of `docker-machine` subcommands, see the [Docker Machine subcommand reference](reference/index.md).
## Custom root Certificate Authority for Registry
Users using their own Docker Registry will experience `x509: certificate signed by unknown authority`
error messages if their registry is signed by custom root Certificate Authority and it is
not registered with Docker Engine. As discussed in the [Docker Engine documentation](https://docs.docker.com/engine/security/certificates/#/understanding-the-configuration)
certificates should be placed at `/etc/docker/certs.d/hostname/ca.crt`
where `hostname` is your Registry server's hostname.
```console
docker-machine scp certfile default:ca.crt
docker-machine ssh default
sudo mv ~/ca.crt /etc/docker/certs.d/hostname/ca.crt
exit
docker-machine restart
```
## Crash Reporting
Provisioning a host is a complex matter that can fail for a lot of reasons. Your

View File

@ -14,9 +14,11 @@ Create machines on [Exoscale](https://www.exoscale.ch/).
Get your API key and API secret key from [API details](https://portal.exoscale.ch/account/api) and pass them to `machine create` with the `--exoscale-api-key` and `--exoscale-api-secret-key` options.
## Usage
$ docker-machine create --driver exoscale --exoscale-api-key=API --exoscale-api-secret-key=SECRET vm
Options:
## Options
- `--exoscale-url`: Your API endpoint.
- `--exoscale-api-key`: **required** Your API key.
@ -34,7 +36,7 @@ If a custom security group is provided, you need to ensure that you allow TCP po
There is a limit to the number of docker machines that an anti-affinity group can have. This can be worked around by specifying an additional anti-affinity group using `--exoscale-affinity-group=docker-machineX`
Environment variables and default values:
### Environment variables and default values
| CLI option | Environment variable | Default |
| ------------------------------- | ---------------------------- | --------------------------------- |

View File

@ -28,7 +28,7 @@ Hyper-V](https://msdn.microsoft.com/en-us/virtualization/hyperv_on_windows/quick
> If you would like to use NAT, create an internal network, and use
> [Internet Connection Sharing](http://www.packet6.com/allowing-windows-8-1-hyper-v-vm-to-work-with-wifi/).
>
> * This reference page includes an [example](hyper-v.md#example) that shows how to use an elelvated (Administrator-level) PowerShell and how to create and use an external network switch.
> * This reference page includes an [example](hyper-v.md#example) that shows how to use an elevated (Administrator-level) PowerShell and how to create and use an external network switch.
## Usage

View File

@ -66,7 +66,7 @@ See <a href="../drivers/" target="_blank">Docker Machine driver reference</a> fo
You can add a host to Docker which only has a URL and no driver. Then you can use the machine name you provide here for an existing host so you dont have to type out the URL every time you run a Docker command.
$ docker-machine create --url=tcp://50.134.234.20:2376 custombox
$ docker-machine create --driver none --url=tcp://50.134.234.20:2376 custombox
$ docker-machine ls
NAME ACTIVE DRIVER STATE URL
custombox * none Running tcp://50.134.234.20:2376

View File

@ -25,17 +25,23 @@ Using `docker-machine` commands, you can start, inspect, stop, and restart a man
Point the Machine CLI at a running, managed host, and you can run `docker` commands directly on that host. For example, run `docker-machine env default` to point to a host called `default`, follow on-screen instructions to complete `env` setup, and run `docker ps`, `docker run hello-world`, and so forth.
Machine _was_ the _only_ way to run Docker on Mac or Windows previous to Docker v1.12. Starting with the beta program and Docker v1.12, [Docker for Mac](/docker-for-mac/index.md) and [Docker for Windows](/docker-for-windows/index.md) are available as native apps and the better choice for this use case on newer desktops and laptops. We encourage you to try out these new apps. The installers for Docker for Mac and Docker for Windows include Docker Machine, along with Docker Compose.
If you aren't sure where to begin, see [Get Started with Docker](/engine/getstarted/index.md), which helps you choose the right app for your system and guides you through a brief end-to-end tutorial on Docker.
## Why should I use it?
Machine is currently the only way to run Docker on Mac or Windows, and the best way to provision multiple remote Docker hosts on various flavors of Linux.
Docker Machine enables you to provision multiple remote Docker hosts on various flavors of Linux.
Additionally, Machine allows you to run Docker on older Mac or Windows systems, as described in the previous topic.
Docker Machine has these two broad use cases.
* **I want to run Docker on Mac or Windows**
* **I have an older desktop system and want to run Docker on Mac or Windows**
![Docker Machine on Mac and Windows](img/machine-mac-win.png)
If you work primarily on a Mac or Windows laptop or desktop, you need Docker Machine in order to "run Docker" (that is, Docker Engine) locally. Installing Docker Machine on a Mac or Windows box provisions a local virtual machine with Docker Engine, gives you the ability to connect it, and run `docker` commands.
If you work primarily on an older Mac or Windows laptop or desktop that doesn't meet the requirements for the new [Docker for Mac](/docker-for-mac/index.md) and [Docker for Windows](/docker-for-windows/index.md) apps, then you need Docker Machine in order to "run Docker" (that is, Docker Engine) locally. Installing Docker Machine on a Mac or Windows box with the [Docker Toolbox](/toolbox/overview.md) installer provisions a local virtual machine with Docker Engine, gives you the ability to connect it, and run `docker` commands.
* **I want to provision Docker hosts on remote systems**

View File

@ -68,11 +68,11 @@ set -x DOCKER_MACHINE_NAME overlay
# eval "$(docker-machine env overlay)"
```
If you are on Windows and using either Powershell or `cmd.exe`, `docker-machine env`
If you are on Windows and using either PowerShell or `cmd.exe`, `docker-machine env`
Docker Machine should now detect your shell automatically. If the automagic detection does not work you
can still override it using the `--shell` flag for `docker-machine env`.
For Powershell:
For PowerShell:
```none
$ docker-machine.exe env --shell powershell dev