|
| 1 | +<!--[metadata]> |
| 2 | ++++ |
| 3 | +title = "Machine concepts and help" |
| 4 | +description = "Understand concepts for Docker Machine, including drivers, base OS, IP addresses, environment variables" |
| 5 | +keywords = ["docker, machine, amazonec2, azure, digitalocean, google, openstack, rackspace, softlayer, virtualbox, vmwarefusion, vmwarevcloudair, vmwarevsphere, exoscale"] |
| 6 | +[menu.main] |
| 7 | +parent="workw_machine" |
| 8 | +weight=3 |
| 9 | ++++ |
| 10 | +<![end-metadata]--> |
| 11 | + |
| 12 | + |
| 13 | +# Understand Machine concepts and get help |
| 14 | + |
| 15 | +Docker Machine allows you to provision Docker machines in a variety of environments, including virtual machines that reside on your local system, on cloud providers, or on bare metal servers (physical computers). Docker Machine creates a Docker host, and you use the Docker Engine client as needed to build images and create containers on the host. |
| 16 | + |
| 17 | +## Drivers for creating machines |
| 18 | + |
| 19 | +To create a virtual machine, you supply Docker Machine with the name of the driver you want use. The driver determines where the virtual machine is created. For example, on a local Mac or Windows system, the driver is typically Oracle VirtualBox. For provisioning physical machines, a generic driver is provided. For cloud providers, Docker Machine supports drivers such as AWS, Microsoft Azure, Digital Ocean, and many more. The Docker Machine reference includes a complete [list of supported drivers](drivers/index.md). |
| 20 | + |
| 21 | +## Default base operating systems for local and cloud hosts |
| 22 | + |
| 23 | +Since Docker runs on Linux, each VM that Docker Machine provisions relies on a |
| 24 | +base operating system. For convenience, there are default base operating |
| 25 | +systems. For the Oracle Virtual Box driver, this base operating system is <a href="https://github.com/boot2docker/boot2docker" target="_blank">boot2docker</a>. For drivers used to connect to cloud providers, the base operating system is Ubuntu 12.04+. You can change this default when you create a machine. The Docker Machine reference includes a complete [list of |
| 26 | +supported operating systems](drivers/os-base.md). |
| 27 | + |
| 28 | +## IP addresses for Docker hosts |
| 29 | + |
| 30 | +For each machine you create, the Docker host address is the IP address of the |
| 31 | +Linux VM. This address is assigned by the `docker-machine create` subcommand. |
| 32 | +You use the `docker-machine ls` command to list the machines you have created. |
| 33 | +The `docker-machine ip <machine-name>` command returns a specific host's IP |
| 34 | +address. |
| 35 | + |
| 36 | +## Configuring CLI environment variables for a Docker host |
| 37 | + |
| 38 | +Before you can run a `docker` command on a machine, you need to configure your |
| 39 | +command-line to point to that machine. The `docker-machine env <machine-name>` |
| 40 | +subcommand outputs the configuration command you should use. |
| 41 | + |
| 42 | +For a complete list of `docker-machine` subcommands, see the [Docker Machine subcommand reference](reference/index.md). |
| 43 | + |
| 44 | +## Crash Reporting |
| 45 | + |
| 46 | +Provisioning a host is a complex matter that can fail for a lot of reasons. Your |
| 47 | +workstation may have a wide variety of shell, network configuration, VPN, proxy |
| 48 | +or firewall issues. There are also reasons from the other end of the chain: |
| 49 | +your cloud provider or the network in between. |
| 50 | + |
| 51 | +To help `docker-machine` be as stable as possible, we added a monitoring of |
| 52 | +crashes whenever you try to `create` or `upgrade` a host. This will send, over |
| 53 | +HTTPS, to Bugsnag some information about your `docker-machine` version, build, |
| 54 | +OS, ARCH, the path to your current shell and, the history of the last command as |
| 55 | +you could see it with a `--debug` option. This data is sent to help us pinpoint |
| 56 | +recurring issues with `docker-machine` and will only be transmitted in the case |
| 57 | +of a crash of `docker-machine`. |
| 58 | + |
| 59 | +If you wish to opt out of error reporting, you can create a `no-error-report` |
| 60 | +file in your `$HOME/.docker/machine` directory, and Docker Machine will disable |
| 61 | +this behavior. e.g.: |
| 62 | + |
| 63 | + $ mkdir -p ~/.docker/machine && touch ~/.docker/machine/no-error-report |
| 64 | + |
| 65 | +Leaving the file empty is fine -- Docker Machine just checks for its presence. |
| 66 | + |
| 67 | +## Getting help |
| 68 | + |
| 69 | +Docker Machine is still in its infancy and under active development. If you need |
| 70 | +help, would like to contribute, or simply want to talk about the project with |
| 71 | +like-minded individuals, we have a number of open channels for communication. |
| 72 | + |
| 73 | +- To report bugs or file feature requests: please use the [issue tracker on |
| 74 | + Github](https://github.com/docker/machine/issues). |
| 75 | +- To talk about the project with people in real time: please join the |
| 76 | + `#docker-machine` channel on IRC. |
| 77 | +- To contribute code or documentation changes: please [submit a pull request on |
| 78 | + Github](https://github.com/docker/machine/pulls). |
| 79 | + |
| 80 | +For more information and resources, please visit |
| 81 | +[our help page](https://docs.docker.com/project/get-help/). |
| 82 | + |
| 83 | +## Where to go next |
| 84 | + |
| 85 | +- Create and run a Docker host on your [local system using VirtualBox](get-started.md) |
| 86 | +- Provision multiple Docker hosts [on your cloud provider](get-started-cloud.md) |
| 87 | +- <a href="../drivers/" target="_blank">Docker Machine driver reference</a> |
| 88 | +- <a href="../reference/" target="_blank">Docker Machine subcommand reference</a> |
0 commit comments