Skip to content

vultr/docker-machine-driver-vultr

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

docker-machine-driver-vultr

Vultr Driver for docker-machine and Rancher Node Driver

Install as a docker-machine driver

docker-machine is required, see the installation documentation.

Then install the docker-machine-driver-vultr driver by copying the build to /usr/local/bin/.

Install as a Rancher Node Driver

Use overlay2 as the storage engine

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"
curl -O "https://gitlab-docker-machine-downloads.s3.amazonaws.com/v0.16.2-gitlab.11/docker-machine-Linux-x86_64"
cp docker-machine-Linux-x86_64 /usr/local/bin/docker-machine
chmod +x /usr/local/bin/docker-machine

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

go get -u github.com/vultr/docker-machine-driver-vultr@latest
cd $GOPATH/src/github.com/vultr/docker-machine-driver-vultr
make install

Run

You will need a Vultr APIv4 Personal API key. Is only available in members area https://my.vultr.com/settings/#settingsapi, you need to create an account (https://www.vultr.com/register/) to get there

You will also need to use the 19.03.9 install enginer as shown in the example below

docker-machine create -d vultr --vultr-api-key=<vultr-api-key> --engine-install-url "https://releases.rancher.com/install-docker/19.03.9.sh" <machine-name>

Options

Argument Env Default Description
vultr-api-key VULTR_API_KEY None required Vultr API key (see here)
vultr-server-type VULTR_SERVER_TYPE 1 Vultr Server Type ( 1-SSD, 2-BareMetal, 3-DedicatedCloud)
vultr-dc-id VULTR_DC_ID 1 (New Jersey) VPS DCID (Region) (see here)
vultr-vps-plan-id VULTR_VPS_PLAN_ID 201 (1024 MB RAM,25 GB SSD,1.00 TB BW) VPS Plan ID (see here)
vultr-os-id VULTR_OS_ID 270 (Ubuntu 18.04 x64) VPS Operating System ID (see here)
vultr-ipxe-chain-url VULTR_IPXE_CHAIN_URL None (optional) If you've selected the 'custom' operating system, this can be set to chainload the specified URL on bootup, via iPXE
vultr-iso-id VULTR_ISO_ID None (optional) If you've selected the 'custom' operating system, this is the ID of a specific ISO to mount during the deployment
vultr-script-id VULTR_SCRIPT_ID None (optional) If you've not selected a 'custom' operating system, this can be the SCRIPTID of a startup script to execute on boot
vultr-snapshot-id VULTR_SNAPSHOT_ID None (optional) If you've selected the 'snapshot' operating system, this should be the SNAPSHOTID (see v1/snapshot/list) to restore for the initial installation
vultr-app-id VULTR_APP_ID None (optional) If launching an application (OSID 186), this is the APPID to launch
vultr-reserved-ip-v4 VULTR_RESERVED_IP_V4 None (optional) IP address of the floating IP to use as the main IP of this server
vultr-ip-v6 VULTR_IP_V6 None (optional) If true, an IPv6 subnet will be assigned to the machine (where available)
vultr-auto-backups VULTR_AUTO_BACKUPS None (optional) If true, automatic backups will be enabled for this server (these have an extra charge associated with them)
vultr-private-network VULTR_PRIVATE_NETWORK None (optional) If true, private networking support will be added to the new server
vultr-network-id VULTR_NETWORK_ID None (optional) List of private networks to attach to this server. Use either this field or enable_private_network, not both
vultr-notify-activate VULTR_NOTIFY_ACTIVATE None (optional) If true, an activation email will be sent when the server is ready
vultr-ddos-protection VULTR_DDOS_PROTECTION None (optional) If true, DDOS protection will be enabled on the subscription (there is an additional charge for this)
vultr-userdata VULTR_USERDATA None (optional) Base64 encoded user-data
vultr-label VULTR_LABEL None (optional) This is a text label that will be shown in the control panel
vultr-hostname VULTR_HOSTNAME None (optional) The hostname to assign to this server
vultr-tag VULTR_TAG None (optional) The tag to assign to this server
vultr-firewall-group-id VULTR_FIREWALL_GROUP_ID None (optional) The firewall group to assign to this server
vultr-sshkey-id VULTR_SSHKEY_ID None (optional) List of SSH keys to apply to this server on install (only valid for Linux/FreeBSD)
vultr-docker-port VULTR_DOCKER_PORT 2376 (optional) Vultr Docker port
vultr-ssh-port VULTR_SSH_PORT 22 (optional) SSH Port
vultr-ssh-user VULTR_SSH_USER root (optional) SSH User

Debugging

Detailed run output will be emitted when using the docker-machine --debug option.

docker-machine --debug  create -d vultr --vultr-api-key=<vultr-api-key> machinename

Examples

Simple Example

docker-machine create -d vultr --vultr-api-key=<vultr-api-key> vultr
eval $(docker-machine env vultr)
$ docker-machine ls
NAME      ACTIVE   DRIVER   STATE     URL                         SWARM   DOCKER     ERRORS
vultr     -        vultr    Running   tcp://207.246.87.114:2376           v19.03.5

$ docker-machine rm vultr
About to remove vultr
WARNING: This action will delete both local reference and remote instance.
Are you sure? (y/n): y
Successfully removed vultr