Install Docker Machine
Estimated reading time: 3 minutesOn macOS and Windows, Machine is installed along with other Docker products when you install the Docker for Mac, Docker for Windows, or Docker Toolbox.
If you want only Docker Machine, you can install the Machine binaries directly by following the instructions in the next section. You can find the latest versions of the binaries on the docker/machine release page on GitHub.
Install Machine directly
-
Install Docker.
-
Download the Docker Machine binary and extract it to your PATH.
If you are running on macOS:
$ curl -L https://github.com/docker/machine/releases/download/v0.13.0/docker-machine-`uname -s`-`uname -m` >/usr/local/bin/docker-machine && \ chmod +x /usr/local/bin/docker-machine
If you are running on Linux:
$ curl -L https://github.com/docker/machine/releases/download/v0.13.0/docker-machine-`uname -s`-`uname -m` >/tmp/docker-machine && chmod +x /tmp/docker-machine && sudo cp /tmp/docker-machine /usr/local/bin/docker-machine
If you are running with Windows with Git BASH:
$ if [[ ! -d "$HOME/bin" ]]; then mkdir -p "$HOME/bin"; fi && \ curl -L https://github.com/docker/machine/releases/download/v0.13.0/docker-machine-Windows-x86_64.exe > "$HOME/bin/docker-machine.exe" && \ chmod +x "$HOME/bin/docker-machine.exe"
The above command will work on Windows only if you use a terminal emulator such as Git BASH, which supports Linux commands like
chmod
.Otherwise, download one of the releases from the docker/machine release page directly.
-
Check the installation by displaying the Machine version:
$ docker-machine version docker-machine version 0.13.0, 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
:
scripts=( docker-machine-prompt.bash docker-machine-wrapper.bash docker-machine.bash ); for i in "${scripts[@]}"; do sudo wget https://raw.githubusercontent.com/docker/machine/v0.13.0/contrib/completion/bash/${i} -P /etc/bash_completion.d; done
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.
How to uninstall Docker Machine
To uninstall Docker Machine:
-
Remove the executable:
rm $(which 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 or Docker for Windows environment, for example.
Note: As a point of information, the
config.json
, certificates, and other data related to each virtual machine created bydocker-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
- Create and run a Docker host on your local system using virtualization
- Provision multiple Docker hosts on your cloud provider
- Docker Machine driver reference
- Docker Machine subcommand reference