janeczku / docker-machine-vultr

:m: Docker Machine driver for Vultr Cloud
MIT License
192 stars 25 forks source link
docker docker-machine rancheros virtual-machine vps vultr

Docker Machine driver plugin for Vultr

Latest Version [Github All Releases]() CircleCI [License]()

Provision Vultr cloud instances using the docker-machine command line tool.

Installation

You need to have installed Docker Machine v0.5.1 or later.

Download the Vultr driver matching your platform from the release page.

If you are running on macOS:

$ curl -L https://github.com/janeczku/docker-machine-vultr/releases/download/v1.3.0/docker-machine-driver-vultr-`uname -s`-`uname -m` \
  -o /usr/local/bin/docker-machine-driver-vultr && chmod +x /usr/local/bin/docker-machine-driver-vultr

If you are running on Linux:

$ curl -L https://github.com/janeczku/docker-machine-vultr/releases/download/v1.3.0/docker-machine-driver-vultr-`uname -s`-`uname -m` \
  -o /tmp/docker-machine-driver-vultr && chmod +x /tmp/docker-machine-driver-vultr &&
  sudo cp /tmp/docker-machine-driver-vultr /usr/local/bin/docker-machine-driver-vultr

Otherwise, download the binary from the release page directly.

Usage instructions

Grab your API key from the Vultr control panel and pass that to docker-machine create with the --vultr-api-key option.

Example for creating a new machine running RancherOS:

docker-machine create --driver vultr --vultr-api-key=abc123 rancheros-machine

Example for creating a new machine running Ubuntu 16.04:

docker-machine create --driver vultr --vultr-api-key=abc123 --vultr-os-id=215 ubuntu-machine

Command line flags:

If the OS ID is not specified, RancherOS will be used as operating system for the instance. You can select a specific RancherOS version by specifying the --vultr-ros-version flag.

PXE deployment

You can boot a custom OS using a PXE boot script that you created in your Vultr account panel by passing it's ID with the --vultr-pxe-script flag and setting --vultr-os-id to 159. The operating system must support cloud-init and be configured to use the ec2 datasource type.

Environment variables and default values:

CLI option Environment variable Default
--vultr-api-key VULTR_API_KEY -
--vultr-ssh-user VULTR_SSH_USER root
--vultr-region-id VULTR_REGION 1 (New Jersey)
--vultr-plan-id VULTR_PLAN 201 (1024 MB, 25 GB SSD)
--vultr-os-id VULTR_OS -
--vultr-ros-version VULTR_ROS_VERSION v1.0.2
--vultr-pxe-script VULTR_PXE_SCRIPT -
--vultr-boot-script VULTR_BOOT_SCRIPT -
--vultr-ssh-key-id VULTR_SSH_KEY -
--vultr-ipv6 VULTR_IPV6 false
--vultr-private-networking VULTR_PRIVATE_NETWORKING false
--vultr-backups VULTR_BACKUPS false
--vultr-userdata VULTR_USERDATA -
--vultr-snapshot-id VULTR_SNAPSHOT -
--vultr-reserved-ip VULTR_RESERVED_IP -
--vultr-tag VULTR_TAG -
--vultr-firewall-group VULTR_FIREWALL_GROUP -
--vultr-api-endpoint VULTR_API_ENDPOINT -

Find available plans for all Vultr locations

Check out vultr-status.appspot.com for a live listing of the available plans per region. Get the corresponding --vultr-region-id and --vultr-plan-id parameters with the click of a button.

vultr-status website