vmwareworkstation

package module
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Jan 9, 2016 License: Apache-2.0 Imports: 22 Imported by: 0

README

Docker Machine VMWare Workstation Driver

Windows Build Status

This is a plugin for Docker Machine allowing to create Docker hosts locally on VMWare Workstation

This as placeholder and collaboration point to add a vmware workstation driver. This is reusing part of the code from the fusion driver bundled with docker machine(as both have the same executable) and adding some code from Packer vmware driver to detect the location of the files on windows.

As the title says this is still WIP and im working to add functionality listed on the TODO list, i accept suggestions.

TODO

  • drivers/vmwareworkstation/workstation.go: Rework file for vmware workstation
  • add windows support
  • add cmd/machine-driver-vmwareworkstation.go
  • Add Linux/OSX support
  • Add dhcplease file discovery on windows
  • Add tests cases
  • Create makefile
  • Add docs/drivers/vm-workstation.md

Requirements

Installation

The latest version of docker-machine-driver-vmwareworkstation binary is available on the "Releases" page.

Usage

Official documentation for Docker Machine is available here.

To create a VMWare Workstation virtual machine for Docker purposes just run this command:

$ docker-machine create --driver=vmwareworkstation dev

Available options:

  • --vmwareworkstation-boot2docker-url: The URL of the boot2docker image.
  • --vmwareworkstation-disk-size: Size of disk for the host VM (in MB).
  • --vmwareworkstation-memory-size: Size of memory for the host VM (in MB).
  • --vmwareworkstation-cpu-count: Number of CPUs to use to create the VM (-1 to use the number of CPUs available).
  • --vmwareworkstation-ssh-user: SSH user
  • --vmwareworkstation-ssh-password: SSH password

The --vmwareworkstation-boot2docker-url flag takes a few different forms. By default, if no value is specified for this flag, Machine will check locally for a boot2docker ISO. If one is found, that will be used as the ISO for the created machine. If one is not found, the latest ISO release available on boot2docker/boot2docker will be downloaded and stored locally for future use. Note that this means you must run docker-machine upgrade deliberately on a machine if you wish to update the "cached" boot2docker ISO.

This is the default behavior (when --vmwareworkstation-boot2docker-url=""), but the option also supports specifying ISOs by the http:// and file:// protocols.

Environment variables and default values:

CLI option Environment variable Default
--vmwareworkstation-boot2docker-url WORKSTATION_BOOT2DOCKER_URL Latest boot2docker url
--vmwareworkstation-cpu-count WORKSTATION_CPU_COUNT 1
--vmwareworkstation-disk-size WORKSTATION_DISK_SIZE 20000
--vmwareworkstation-memory-size WORKSTATION_MEMORY_SIZE 1024
--vmwareworkstation-ssh-user WORKSTATION_SSH_USER B2DUser
--vmwareworkstation-ssh-password WORKSTATION_SSH_PASSWORD B2DPass

Development

Build from Source

If you wish to work on VMWare Workstation Driver for Docker machine, you'll first need

  • Go installed (version 1.5+ is required).
    • Make sure Go is properly installed, including setting up a GOPATH.
  • MSYS
    • Make We well need to use pacman to install make
  • Currently build only works on Windows (WIP to get ti work on other platforms)

Run these commands to build the plugin binary:

$ go get -d github.com/pecigonzalo/docker-machine-vmwareworkstation
$ cd $GOPATH/github.com/pecigonzalo/docker-machine-vmwareworkstation
$ make

After the build is complete, bin/docker-machine-driver-vmwareworkstation binary will be created. If you want, copy it to the ${GOPATH}/bin/.

Authors

Credits

Documentation

Index

Constants

View Source
const (
	B2DUser = "docker"
	B2DPass = "tcuser"
)

Variables

View Source
var (
	ErrMachineExist    = errors.New("machine already exists")
	ErrMachineNotExist = errors.New("machine does not exist")
	ErrVMRUNNotFound   = errors.New("VMRUN not found")
)

Functions

func NewDriver

func NewDriver(hostName, storePath string) drivers.Driver

Types

type Driver

type Driver struct {
	*drivers.BaseDriver
	Memory         int
	DiskSize       int
	CPU            int
	ISO            string
	Boot2DockerURL string
	CPUS           int

	SSHPassword    string
	ConfigDriveISO string
	ConfigDriveURL string
}

Driver for VMware Workstation

func (*Driver) Create

func (d *Driver) Create() error

func (*Driver) DriverName

func (d *Driver) DriverName() string

DriverName returns the name of the driver

func (*Driver) GetCreateFlags

func (d *Driver) GetCreateFlags() []mcnflag.Flag

GetCreateFlags registers the flags this driver adds to "docker hosts create"

func (*Driver) GetIP

func (d *Driver) GetIP() (string, error)

func (*Driver) GetSSHHostname

func (d *Driver) GetSSHHostname() (string, error)

func (*Driver) GetSSHUsername

func (d *Driver) GetSSHUsername() string

func (*Driver) GetState

func (d *Driver) GetState() (state.State, error)

func (*Driver) GetURL

func (d *Driver) GetURL() (string, error)

func (*Driver) Kill

func (d *Driver) Kill() error

func (*Driver) PreCreateCheck added in v0.9.0

func (d *Driver) PreCreateCheck() error

PreCreateCheck checks that the machine creation process can be started safely.

func (*Driver) Remove

func (d *Driver) Remove() error

func (*Driver) Restart

func (d *Driver) Restart() error

func (*Driver) SetConfigFromFlags

func (d *Driver) SetConfigFromFlags(flags drivers.DriverOptions) error

func (*Driver) Start

func (d *Driver) Start() error

func (*Driver) Stop

func (d *Driver) Stop() error

func (*Driver) Upgrade

func (d *Driver) Upgrade() error

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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