docker-machine-driver-linode

command module
v0.0.13 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 18, 2018 License: MIT Imports: 2 Imported by: 0

README

docker-machine-driver-linode

GoDoc Go Report Card CircleCI GitHub release

Linode Driver Plugin for docker-machine.

Install

docker-machine is required, see the installation documentation.

Then, install the latest release for your environment from the releases list.

Installing from source

If you would rather build from source, you will need to have a working go 1.11+ environment,

eval $(go env)
export PATH="$PATH:$GOPATH/bin"

You can then install docker-machine from source by running:

go get github.com/docker/machine
cd $GOPATH/src/github.com/docker/machine
make build

And then compile the docker-machine-driver-linode driver:

go get github.com/linode/docker-machine-driver-linode
cd $GOPATH/src/github.com/linode/docker-machine-driver-linode
make install

Run

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
Full Example
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
Options
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-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.

Debugging

Detailed run output will be emitted when using the LinodeGo LINODE_DEBUG=1 option along with the docker-machine --debug option.

LINODE_DEBUG=1 docker-machine --debug  create -d linode --linode-token=$LINODE_TOKEN --linode-root-pass=$ROOT_PASS machinename

Discussion / Help

Join us at #linodego on the gophers slack

License

MIT License

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL