• Stars
    star
    468
  • Rank 93,138 (Top 2 %)
  • Language
    Go
  • License
    MIT License
  • Created almost 9 years ago
  • Updated 9 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Parallels driver for Docker Machine https://github.com/docker/machine

Docker Machine Parallels Driver

This is a plugin for Docker Machine allowing to create Docker hosts locally on Parallels Desktop for Mac

Requirements

Installation

Install via MacPorts:

$ sudo port install docker-machine-parallels

Install via Homebrew:

$ brew install docker-machine-parallels

To install this plugin manually, download the binary docker-machine-driver-parallels and make it available by $PATH, for example by putting it to /usr/local/bin/:

$ curl -L https://github.com/Parallels/docker-machine-parallels/releases/download/v2.0.1/docker-machine-driver-parallels > /usr/local/bin/docker-machine-driver-parallels

$ chmod +x /usr/local/bin/docker-machine-driver-parallels

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

Usage

Official documentation for Docker Machine is available here.

To create a Parallels Desktop virtual machine for Docker purposes just run this command:

$ docker-machine create --driver=parallels prl-dev

Available options:

  • --parallels-boot2docker-url: The URL of the boot2docker image.
  • --parallels-disk-size: Size of disk for the host VM (in MB).
  • --parallels-memory: Size of memory for the host VM (in MB).
  • --parallels-cpu-count: Number of CPUs to use to create the VM (-1 to use the number of CPUs available).
  • --parallels-video-size: Size of video memory for host (in MB).
  • --parallels-share-folder: Path to the directory which should be shared with the host VM. Could be specified multiple times, once per each directory.
  • --parallels-no-share: Disable the sharing of any directory.
  • --parallels-nested-virtualization: Enable nested virtualization.

The --parallels-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.

This is the default behavior (when --parallels-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
--parallels-boot2docker-url PARALLELS_BOOT2DOCKER_URL Latest boot2docker url
--parallels-cpu-count PARALLELS_CPU_COUNT 1
--parallels-disk-size PARALLELS_DISK_SIZE 20000
--parallels-memory PARALLELS_MEMORY_SIZE 1024
--parallels-video-size PARALLELS_VIDEO_SIZE 64
--parallels-share-folder - /Users
--parallels-no-share - false
--parallels-nested-virtualization - false

Development

Build from Source

If you wish to work on Parallels Driver for Docker machine, you'll first need Go installed (version 1.14+ is required). Make sure Go is properly installed, including setting up a GOPATH.

Run these commands to build the plugin binary:

$ go get -d github.com/Parallels/docker-machine-parallels
$ cd $GOPATH/src/github.com/Parallels/docker-machine-parallels
$ make build

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

Managing Dependencies

When you make a fresh copy of the repo, all the dependencies are in vendor/ directory for the build to work. This project uses golang/dep as dependency management tool. Please refer to dep documentation for further details.

Acceptance Tests

We use Bats for acceptance testing, so, install it first.

You also need to build the plugin binary by calling make build.

Then you can run acceptance tests using this command:

$ make test-acceptance

Acceptance tests will invoke the general docker-machine binary available by $PATH. If you want to specify it explicitly, just set MACHINE_BINARY env variable:

$ MACHINE_BINARY=/path/to/docker-machine make test-acceptance

Authors

More Repositories

1

rq-dashboard

Flask-based web front-end for monitoring RQ queues
Python
1,432
star
2

vagrant-parallels

Vagrant Parallels Provider
Ruby
996
star
3

boot2docker-vagrant-box

Packer scripts to build a Vagrant-compatible boot2docker box.
Shell
105
star
4

artifactory

A Python client for Artifactory
Python
82
star
5

packer-examples

Packer Templates and examples to use with Parallels Desktop provider
HCL
28
star
6

parallels-vscode-extension

Parallels Visual Studio Code
TypeScript
26
star
7

jenkins-parallels

A Jenkins plugin to run builds in Parallels Desktop
Java
23
star
8

githooks

Git Hooks for Atlassian Bitbucket Server (formerly Stash)
Python
17
star
9

RAS-PowerShell

This repository contains sample Parallels RAS PowerShell cmdlets and tools
Rich Text Format
16
star
10

packer-plugin-parallels

Packer plugin for Parallels Builder
Go
11
star
11

prl-devops-service

Go
9
star
12

vagrant-django-example

A simple skeleton of Django application provisioned with Vagrant + Parallels Desktop
Shell
7
star
13

kitchen-policyfile-nodes

Test Kitchen provisioner based on policyfile_zero that generates searchable nodes
Ruby
6
star
14

atlassian-restrict-branch-model

Restrict Development to Branch Model for Atlassian Bitbucket Server
Java
6
star
15

prlctl-scripts

Somes useful scripts to use with Parallels command line to help in automation
Shell
4
star
16

Parallels-DaaS

This repository contains scripts and other useful tools to benefit administrators of the Parallels DaaS (Desktop-as-a-Service) solution
PowerShell
3
star
17

jenkins_cleanup

Groovy script to cleanup Jenkins workspaces
Groovy
3
star
18

joinparallels

We are hiring
2
star
19

PMM-Azure-Script

PowerShell
1
star
20

parallels-desktop-github-action

Parallels Desktop Github Actions
TypeScript
1
star
21

terraform-provider-parallels-desktop

Go
1
star