---
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:

        $ 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`.

```
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)
