Files
docker-docs/machine/drivers/generic.md
Misty Stanley-Jones a4f5e30249 Various copyedits to reduce future tense, wordiness, and use of 'please' (#5788)
* Reword lots of instances of 'will'

* Reword lots of instances of won't

* Reword lots of instances of we'll

* Eradicate you'll

* Eradicate 'be able to' type of phrases

* Eradicate 'unable to' type of phrases

* Eradicate 'has / have to' type of phrases

* Eradicate 'note that' type of phrases

* Eradicate 'in order to' type of phrases

* Redirect to official Chef and Puppet docs

* Eradicate gratuitous 'please'

* Reduce use of e.g.

* Reduce use of i.e.

* Reduce use of N.B.

* Get rid of 'sexagesimal' and correct some errors
2018-01-25 17:37:23 -08:00

74 lines
2.9 KiB
Markdown

---
description: Generic driver for machine
keywords: machine, Generic, driver
title: Generic
---
Create machines using an existing VM/Host with SSH.
This is useful if you are using a provider that Machine does not support
directly or if you would like to import an existing host to allow Docker
Machine to manage.
The driver performs a list of tasks on create:
- If docker is not running on the host, it is installed automatically.
- It updates the host packages (`apt-get update`, `yum update`...).
- It generates certificates to secure the docker daemon.
- If the host uses systemd, it creates /etc/systemd/system/docker.service.d/10-machine.conf
- The docker daemon restarts, thus all running containers are stopped.
- The hostname is updated to fit the machine name.
### Example
To create a machine instance, specify `--driver generic`, the IP address or DNS
name of the host and the path to the SSH private key authorized to connect
to the host.
$ docker-machine create \
--driver generic \
--generic-ip-address=203.0.113.81 \
--generic-ssh-key ~/.ssh/id_rsa \
vm
### Sudo privileges
The user that is used to SSH into the host can be specified with
`--generic-ssh-user` flag. This user needs password-less sudo
privileges.
If it's not the case, you need to edit the `sudoers` file and configure the user
as a sudoer with `NOPASSWD`. See https://help.ubuntu.com/community/Sudoers.
### Options
- `--generic-engine-port`: Port to use for Docker Daemon (Note: This flag does not work with boot2docker).
- `--generic-ip-address`: **required** IP Address of host.
- `--generic-ssh-key`: Path to the SSH user private key.
- `--generic-ssh-user`: SSH username used to connect.
- `--generic-ssh-port`: Port to use for SSH.
> **Note**: You must use a base operating system supported by Machine.
#### Environment variables and default values
| CLI option | Environment variable | Default |
| -------------------------- | -------------------- | ------------------------- |
| `--generic-engine-port` | `GENERIC_ENGINE_PORT`| `2376` |
| **`--generic-ip-address`** | `GENERIC_IP_ADDRESS` | - |
| `--generic-ssh-key` | `GENERIC_SSH_KEY` | - |
| `--generic-ssh-user` | `GENERIC_SSH_USER` | `root` |
| `--generic-ssh-port` | `GENERIC_SSH_PORT` | `22` |
### Systemd settings
For systems that use systemd, if you have an existing configuration defined in
'/etc/systemd/system/docker.service.d/' this may conflict with the settings created by
docker-machine. Make sure you don't have any other configuration files in this location
that override the [ExecStart] setting.
Once you have confirmed any conflicting settings have been removed, run
`sudo systemctl daemon reload` followed by `sudo systemctl restart docker`