Linode Driver Plugin for docker-machine.
First, docker-machine is required, documentation for how to install docker-machine
is available here.
Or, you can install docker-machine
from source by running:
go get github.com/docker/machine
cd $GOPATH/src/github.com/docker/machine
make build
Then, install docker-machine-driver-linode
driver in the $GOPATH
and add $GOPATH/bin
to the $PATH
environment variable.
go get github.com/displague/docker-machine-driver-linode
cd $GOPATH/src/github.com/displague/docker-machine-driver-linode
make install
You will need a Linode APIv4 Personal Access Token. Get one here: https://developers.linode.com/api/v4#section/Personal-Access-Token
docker-machine create -d linode --linode-token=<linode-token> --linode-root-pass=<linode-root-pass> linode
LINODE_TOKEN=e332cf8e1a78427f1368a5a0a67946ad1e7c8e28e332cf8e1a78427f1368a5a0 # Should be 65 lowercase hex chars
LINODE_ROOT_PASSWORD=$(openssl rand -base64 32); echo Password for root: $LINODE_ROOT_PASSWORD
docker-machine create -d linode --linode-token=$LINODE_TOKEN --linode-root-pass=$LINODE_ROOT_PASSWORD linode
eval $(docker-machine env linode)
docker run --rm --it debian bash
$ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
linode * linode Running tcp://45.79.139.196:2376 v18.05.0-ce
$ docker-machine rm linode
About to remove linode
WARNING: This action will delete both local reference and remote instance.
Are you sure? (y/n): y
(default) Removing linode: 8753395
Successfully removed linode
Argument | Env | Default | Description |
---|---|---|---|
linode-token |
LINODE_TOKEN |
None | required Linode APIv4 Token (see here) |
linode-root-pass |
LINODE_ROOT_PASSWORD |
None | required The Linode Instance root_pass (password assigned to the root account) |
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) |
linode-instance-type |
LINODE_INSTANCE_TYPE |
g6-standard-4 |
The Linode Instance type (see here) |
linode-image |
LINODE_IMAGE |
linode/ubuntu18.04 |
The Linode Instance image which provides the Linux distribution (see here). |
linode-kernel |
LINODE_KERNEL |
linode/grub2 |
The Linux Instance kernel to boot. linode/grub2 will defer to the distribution kernel. (see here (?page=N )) |
linode-ssh-port |
LINODE_SSH_PORT |
22 |
The port that SSH is running on, needed for Docker Machine to provision the Linode. |
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 |
Join us at #linodego on the gophers slack