* Create index.md * Create part2.md * Create part3.md * Create part4.md * Create part5.md * Rewrite step 2 * Update part2.md * Update part2.md * Update part2.md * Update part2.md * Update part2.md * Update part2.md * Update index.md * Rewrite of part 3 * Tabs-based swarm instructions, pass 1 * Rewrite of parts 3 and 4, tabs implementation * Navigation, rewrites, part 4 completion * Part 5 w/Redis * Part 5, compelte Redis, rename part 6 * TOC/redirect implementation * Update part6.md * Changing links to point to new tutorial * Rewrites and asciinemas * Fix overview * Label diagrams * Fix button * Fix link to where Stacks are covered * Fix typo * s/file/directory * Reformat paragraph * Shorten tabs * Typos * Release DTR 2.2.4, 2.1.6 * Go back to small /edge (#2736) * Go back to small /edge * Update site front page Add info about Editions Reorganize components Update headings * Move logic of fetching content to a script * Add v1.28 API * Add info about versioned API * Fix a few 404s (#2785) * Fix typo * Propose use of another word (#2791) I think that interested is better than invested, in this case. * Update secrets.md (#2780) remove correct secret * Change mount syntax on windows from //c/ to c:\ (#2761) LGTM * Update hackathon.md (#2773) * nodes.md grammar correction (#2802) * Grammar and formatting check (#2797) * Wrong article If the first word starts with a vowel sound you use an. If the first word has a consonant sound use a. * Making the text bold Removing backticks because probably the text needs to be bold and not marked as code. * Update overview.md (#2805) It should say 'predecessors', not 'successors'. Otherwise the sentence and the subsequent example don't make sense. * shrink some big images (#2798) Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> * #2627 (#2804) - Fix right sidebar overflow on rescale * Update hackathon.md * change pre-build to pre_build to remove confusion (#2813) * change pre-build to pre_build to remove confusion * clarify that pre_build hook refers to a file * Update TOC to sentence case (#2790) * add more info about DTR on the overview page (#2794) fix #1904 * Update glossary.yaml (#2807) Fix #2575. * fix imports since docker api pkg migration, fix example repository name to be canonical (#2806) * tweak: code format for filename (#2829) * tweak: code format for filename slight reword, so as to avoid confusion w/filename Signed-off-by: Victoria Bialas <victoria.bialas@docker.com> * small changes just to kick build again Signed-off-by: Victoria Bialas <victoria.bialas@docker.com> * Update hackathon.md * fix broken links (#2808) * fix broken link (#2809) * [CONTRIBUTING] update broken link (#2826) * [Debian] add gnupg2 requirement for stretch (#2823) * TOC/redirect implementation * Changing links to point to new tutorial * Rewrites and asciinemas * Fix bad merge * Metadata, formatting * Front page formatting, link instrumentation
5.5 KiB
description, keywords, title
| description | keywords | title |
|---|---|---|
| Introduction and Overview of Machine | docker, machine, amazonec2, azure, digitalocean, google, openstack, rackspace, softlayer, virtualbox, vmwarefusion, vmwarevcloudair, vmwarevsphere, exoscale | Docker Machine Overview |
You can use Docker Machine to:
- Install and run Docker on Mac or Windows
- Provision and manage multiple remote Docker hosts
- Provision Swarm clusters
What is Docker Machine?
Docker Machine is a tool that lets you install Docker Engine on virtual hosts,
and manage the hosts with docker-machine commands. You can use Machine to
create Docker hosts on your local Mac or Windows box, on your company network,
in your data center, or on cloud providers like AWS or Digital Ocean.
Using docker-machine commands, you can start, inspect, stop, and restart a
managed host, upgrade the Docker client and daemon, and configure a Docker
client to talk to your host.
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 and Docker for Windows 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, which guides you through a brief end-to-end tutorial on Docker.
Why should I use it?
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 have an older desktop system and want to run Docker on Mac or Windows
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 and Docker for Windows 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 installer provisions a local virtual machine with Docker Engine, gives you the ability to connect it, and run
dockercommands. -
I want to provision Docker hosts on remote systems
Docker Engine runs natively on Linux systems. If you have a Linux box as your
primary system, and want to run docker commands, all you need to do is
download and install Docker Engine. However, if you want an efficient way to
provision multiple Docker hosts on a network, in the cloud or even locally,
you need Docker Machine.
Whether your primary system is Mac, Windows, or Linux, you can install Docker
Machine on it and use docker-machine commands to provision and manage large
numbers of Docker hosts. It automatically creates hosts, installs Docker
Engine on them, then configures the docker clients. Each managed host
("machine") is the combination of a Docker host and a configured client.
What's the difference between Docker Engine and Docker Machine?
When people say "Docker" they typically mean Docker Engine, the
client-server application made up of the Docker daemon, a REST API that
specifies interfaces for interacting with the daemon, and a command line
interface (CLI) client that talks to the daemon (through the REST API wrapper).
Docker Engine accepts docker commands from the CLI, such as docker run <image>, docker ps to list running containers, docker images to list
images, and so on.
Docker Machine is a tool for provisioning and managing your Dockerized hosts
(hosts with Docker Engine on them). Typically, you install Docker Machine on
your local system. Docker Machine has its own command line client
docker-machine and the Docker Engine client, docker. You can use Machine to
install Docker Engine on one or more virtual systems. These virtual systems can
be local (as when you use Machine to install and run Docker Engine in VirtualBox
on Mac or Windows) or remote (as when you use Machine to provision Dockerized
hosts on cloud providers). The Dockerized hosts themselves can be thought of,
and are sometimes referred to as, managed "machines".
Where to go next
- Install Docker Machine
- Create and run a Docker host on your local system using VirtualBox
- Provision multiple Docker hosts on your cloud provider
- Provision a Docker Swarm cluster with Docker Machine (Legacy Swarm)
- Getting started with swarm mode (Docker Engine 1.12 and above)
- Understand Machine concepts
- Docker Machine driver reference
- Docker Machine subcommand reference
- Migrate from Boot2Docker to Docker Machine



