A demo of Weave and Flocker as official Docker plugins using compose and swarm
Shell Ruby Io Makefile
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
amibuilder
compiler
runner
shared
vagrantbuilder
vagrantrunner
.aws_secrets.example
.gitignore
README.md
aws_credentials.rb
notes.md
simple.md

README.md

Unofficial Plugins Demo

Using Flocker and Weave with the Docker platform

Watch the video

See https://plugins-demo-2015.github.io/

Then come back here to try it yourself with Vagrant!

Vagrant Quickstart

You will also need Vagrant 1.7.2 and Virtualbox installed.

Then:

$ git clone git@github.com/plugins-demo-2015/demo
$ cd demo
$ make -C vagrantrunner

This will use pre-packed boxes that has everything installed - start 2 VMs and then install the Flocker and Weave plugins.

This box uses the Docker experimental binary and patched versions of Swarm and Compose:

Once the boxes have started - you should create the weave network on each of the nodes and start the swarm master:

$ cd vagrantrunner
$ bash create_network.sh
$ bash launch_scope.sh
$ bash swarm_manage.sh

Then in another shell, SSH into the master:

$ cd vagrantrunner
$ vagrant ssh master

Then we check that swarm is working and that the plugins are running, then bring up the app using docker-compose:

master# export DOCKER_HOST=localhost:2378
master# docker info
master# cd /vagrant/app
master# docker-compose up -d
master# docker ps -a | grep redis

Then we start the HTTP load balancer that opens up the open to the outside world:

master# cd /vagrant
master# bash run_proxy.sh

Now we can load the app in a browser:

http://172.16.70.250/

Click around and add some Docker logos onto the screen.

Now we migrate the stateful database to another node.

master# docker-compose stop
master# docker-compose rm -f
master# vim docker-compose.yml # switch "runner" and "master" in the redis constraint
master# docker-compose up -d
master# docker ps -a | grep redis

Observe that the database is both still accessible (thanks to Weave) and still has its data (thanks to Flocker).