hypriot / docker-machine-hypriot

Docker Machine driver for Hypriot
https://github.com/docker/machine
16 stars 2 forks source link

DEPRECATED

This repo was a try to build a docker-machine plugin for HypriotOS. But it turned out that we would need a provisioner plugin instead of a driver plugin. You can use the original docker-machine binary with HypriotOS as described in http://blog.hypriot.com/post/how-to-setup-rpi-docker-swarm/.

You may find our still working docker-machine-hypriot up to version 0.4.1 binary at http://blog.hypriot.com/downloads/ That is a complete docker-machine binary with the hypriot driver and provisioner compiled into it. Do not use this binary as a plugin for docker-machine 0.5.x. At the moment this plugin is rather useless as there is no provisioner plugin concept in docker-machine. So the current plan is to build a special docker-machine binary 0.5.x again with a hypriot provisioner compiled into it.

See discussion in these issues for more details:

If you want to contribute or build the binary from source read the Contributing Guide

Docker Machine Hypriot Driver

This is a plugin for Docker Machine allowing to connect to remote Raspberry Pis running HypriotOS.

Requirements

Installation

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

$ curl -L  -o /usr/local/bin/docker-machine-driver-hypriot https://github.com/hypriot/docker-machine-hypriot/releases/download/v0.0.1/docker-machine-driver-hypriot
$ chmod +x /usr/local/bin/docker-machine-driver-hypriot

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

Usage

Official documentation for Docker Machine is available here.

Create machines using an existing Raspberry Pi with installed Hypriot image (based on Raspbian).

For more details on installing the basic system (including a preinstalled Docker daemon) please see the detailled tutorial Getting started with Docker on your Raspberry Pi.

Before using the docker-machine create command you have to copy your SSH keys to the device:

$ ssh-copy-id root@$HYPRIOT_IP_ADDRESS

Now you can easily provision your Docker engine with:

$ docker-machine create --driver hypriot --hypriot-ip-address=$HYPRIOT_IP_ADDRESS black-pearl

In order to upgrade to the latest available Docker version, just run:

$ docker-machine upgrade black-pearl

Options:

Note: currently only a numerical IP address is supported.

Environment variables and default values:

CLI option Environment variable Default
--hypriot-ip-address - -
--hypriot-ssh-user - root
--hypriot-ssh-key - $HOME/.ssh/id_rsa
--hypriot-ssh-port - 22

Once you have created your Docker machine run this command to configure your shell:

$ eval "$(docker-machine env black-pearl)"

Now you can use the Docker machine as usual:

$ docker version
Client:
 Version:      1.9.0
 API version:  1.21
 Go version:   go1.5.1
 Git commit:   76d6bc9
 Built:        Tue Nov  3 21:18:00 UTC 2015
 OS/Arch:      darwin/amd64

Server:
 Version:      1.9.0
 API version:  1.21
 Go version:   go1.4.3
 Git commit:   76d6bc9
 Built:        Tue Nov  3 19:20:09 UTC 2015
 OS/Arch:      linux/arm