doc: Docker driver for Linode infrastructure (#7001)

Adding a reference to a new DockerMachine driver made available for Linode infrastructure.
Adding a reference to the Linode driver on AVAILABLE_DRIVER_PLUGINS.md

Signed-off-by: Marques Johansson <marques@linode.com>
This commit is contained in:
Marques Johansson 2018-07-08 10:27:57 -04:00 committed by Marques Johansson
parent e74fd60201
commit be728dc094
3 changed files with 74 additions and 1 deletions

View File

@ -221,6 +221,18 @@ with Docker Inc. Use 3rd party plugins at your own risk.
"mailto:daniel.hiltgen@docker.com">daniel.hiltgen@docker.com</a>
</td>
</tr>
<tr>
<td>Linode</td>
<td>
<a href="https://github.com/linode/docker-machine-driver-linode">https://github.com/linode/docker-machine-driver-linode</a>
</td>
<td>
<a href="https://github.com/linode">Linode</a>
</td>
<td>
<a href="mailto:developers@linode.com">developers@linode.com</a>
</td>
</tr>
<tr>
<td>NTT Communications Enterprise Cloud</td>
<td>

View File

@ -9,7 +9,7 @@ title: Machine drivers
- [Digital Ocean](digital-ocean.md)
- [Exoscale](exoscale.md)
- [Google Compute Engine](gce.md)
- [Generic](generic.md)
- [Linode](linode.md) (unofficial plugin, not supported by Docker)
- [Microsoft Hyper-V](hyper-v.md)
- [OpenStack](openstack.md)
- [Rackspace](rackspace.md)

61
machine/drivers/linode.md Normal file
View File

@ -0,0 +1,61 @@
---
description: Linode driver for machine
keywords: machine, Linode, driver
title: Linode
---
Create machines on [Linode](https://www.linode.com).
### Credentials
You will need a Linode APIv4 Personal Access Token. Get one here: <https://developers.linode.com/api/v4#section/Personal-Access-Token>.
Supply the token to `docker-machine create -d linode` with `--linode-token`.
### Install
`docker-machine` is required, [see the installation documentation](https://docs.docker.com/machine/install-machine/).
Then, install the latest release of the Linode machine driver for your environment from the [releases list](https://github.com/linode/docker-machine-driver-linode/releases).
### Usage
```bash
docker-machine create -d linode --linode-token=<linode-token> linode
```
See the [Linode Docker machine driver project page](https://github.com/linode/docker-machine-driver-linode) for more examples.
#### Options, Environment Variables, and Defaults
| Argument | Env | Default | Description
| --- | --- | --- | ---
| `linode-token` | `LINODE_TOKEN` | None | **required** Linode APIv4 Token (see [here](https://developers.linode.com/api/v4#section/Personal-Access-Token))
| `linode-root-pass` | `LINODE_ROOT_PASSWORD` | *generated* | The Linode Instance `root_pass` (password assigned to the `root` account)
| `linode-authorized-users` | `LINODE_AUTHORIZED_USERS` | None | Linode user accounts (separated by commas) whose Linode SSH keys will be permitted root access to the created node
| `linode-label` | `LINODE_LABEL` | *generated* | The Linode Instance `label`, unless overridden this will match the docker-machine name. This `label` must be unique on the account.
| `linode-region` | `LINODE_REGION` | `us-east` | The Linode Instance `region` (see [here](https://api.linode.com/v4/regions))
| `linode-instance-type` | `LINODE_INSTANCE_TYPE` | `g6-standard-4` | The Linode Instance `type` (see [here](https://api.linode.com/v4/linode/types))
| `linode-image` | `LINODE_IMAGE` | `linode/ubuntu18.04` | The Linode Instance `image` which provides the Linux distribution (see [here](https://api.linode.com/v4/images)).
| `linode-ssh-port` | `LINODE_SSH_PORT` | `22` | The port that SSH is running on, needed for Docker Machine to provision the Linode.
| `linode-ssh-user` | `LINODE_SSH_USER` | `root` | The user as which docker-machine should log in to the Linode instance to install Docker. This user must have passwordless sudo.
| `linode-docker-port` | `LINODE_DOCKER_PORT` | `2376` | The TCP port of the Linode that Docker will be listening on
| `linode-swap-size` | `LINODE_SWAP_SIZE` | `512` | The amount of swap space provisioned on the Linode Instance
| `linode-stackscript` | `LINODE_STACKSCRIPT` | None | Specifies the Linode StackScript to use to create the instance, either by numeric ID, or using the form *username*/*label*.
| `linode-stackscript-data` | `LINODE_STACKSCRIPT_DATA` | None | A JSON string specifying data that is passed (via UDF) to the selected StackScript.
| `linode-create-private-ip` | `LINODE_CREATE_PRIVATE_IP` | None | A flag specifying to create private IP for the Linode instance.
| `linode-tags` | `LINODE_TAGS` | None | A comma separated list of tags to apply to the the Linode resource
| `linode-ua-prefix` | `LINODE_UA_PREFIX` | None | Prefix the User-Agent in Linode API calls with some 'product/version'
#### Notes
* When using the `linode/containerlinux` `linode-image`, the `linode-ssh-user` will default to `core`
* A `linode-root-pass` will be generated if not provided. This password will not be shown. Rely on `docker-machine ssh` or [Linode's Rescue features](https://www.linode.com/docs/quick-answers/linode-platform/reset-the-root-password-on-your-linode/) to access the node directly.
#### Debugging
Detailed run output will be emitted when using the LinodeGo `LINODE_DEBUG=1` option along with the `docker-machine` `--debug` option.
```bash
LINODE_DEBUG=1 docker-machine --debug create -d linode --linode-token=$LINODE_TOKEN machinename
```