docs/machine/install-machine.md

133 lines
5.0 KiB
Markdown

---
description: How to install Docker Machine
keywords: machine, orchestration, install, installation, docker, documentation, uninstall Docker Machine, uninstall
title: Install Docker Machine
---
Install Docker Machine binaries by following the instructions in the following section. You can find the latest
versions of the binaries on the [docker/machine release
page](https://github.com/docker/machine/releases/){: target="_blank" rel="noopener" class="_" }
on GitHub.
## Install Docker Machine
1. Install [Docker](../engine/install/index.md){: target="_blank" rel="noopener" class="_" }.
2. Download the Docker Machine binary and extract it to your PATH.
If you are running **macOS**:
```console
$ base=https://github.com/docker/machine/releases/download/v{{site.machine_version}} \
&& curl -L $base/docker-machine-$(uname -s)-$(uname -m) >/usr/local/bin/docker-machine \
&& chmod +x /usr/local/bin/docker-machine
```
If you are running **Linux**:
```console
$ base=https://github.com/docker/machine/releases/download/v{{site.machine_version}} \
&& curl -L $base/docker-machine-$(uname -s)-$(uname -m) >/tmp/docker-machine \
&& sudo mv /tmp/docker-machine /usr/local/bin/docker-machine \
&& chmod +x /usr/local/bin/docker-machine
```
If you are running **Windows** with [Git BASH](https://git-for-windows.github.io/){: target="_blank" rel="noopener" class="_"}:
```console
$ base=https://github.com/docker/machine/releases/download/v{{site.machine_version}} \
&& mkdir -p "$HOME/bin" \
&& curl -L $base/docker-machine-Windows-x86_64.exe > "$HOME/bin/docker-machine.exe" \
&& chmod +x "$HOME/bin/docker-machine.exe"
```
> The above command works on Windows only if you use a
terminal emulator such as [Git BASH](https://git-for-windows.github.io/){: target="_blank" rel="noopener" class="_"}, which supports Linux commands like `chmod`.
{: .important}
Otherwise, download one of the releases from the [docker/machine release
page](https://github.com/docker/machine/releases/){: target="_blank" rel="noopener" class="_" } directly.
3. Check the installation by displaying the Machine version:
```console
$ docker-machine version
docker-machine version {{site.machine_version}}, build 9371605
```
## Install bash completion scripts
The Machine repository supplies several `bash` scripts that add features such
as:
- command completion
- a function that displays the active machine in your shell prompt
- a function wrapper that adds a `docker-machine use` subcommand to switch the
active machine
Confirm the version and save scripts to `/etc/bash_completion.d` or
`/usr/local/etc/bash_completion.d`:
```bash
base=https://raw.githubusercontent.com/docker/machine/v{{site.machine_version}}
for i in docker-machine-prompt.bash docker-machine-wrapper.bash docker-machine.bash
do
sudo wget "$base/contrib/completion/bash/${i}" -P /etc/bash_completion.d
done
```
Then you need to run `source
/etc/bash_completion.d/docker-machine-prompt.bash` in your bash
terminal to tell your setup where it can find the file
`docker-machine-prompt.bash` that you previously downloaded.
To enable the `docker-machine` shell prompt, add
`$(__docker_machine_ps1)` to your `PS1` setting in `~/.bashrc`.
```bash
PS1='[\u@\h \W$(__docker_machine_ps1)]\$ '
```
You can find additional documentation in the comments at the [top of
each
script](https://github.com/docker/machine/tree/master/contrib/completion/bash){:
target="_blank" rel="noopener" class="_"}.
## How to uninstall Docker Machine
To uninstall Docker Machine:
* Optionally, remove the machines you created.
To remove each machine individually: `docker-machine rm <machine-name>`
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 Desktop for Windows](../docker-for-windows/index.md) environment,
for example.
* Remove the executable: `rm $(which docker-machine)`
> **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 only affects 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](index.md)
- Create and run a Docker host on your [local system using virtualization](get-started.md)
- Provision multiple Docker hosts [on your cloud provider](get-started-cloud.md)
- [Docker Machine driver reference](drivers/index.md)
- [Docker Machine subcommand reference](reference/index.md)