Unofficial Plugins Demo
Using Flocker and Weave with the Docker platform
Watch the video
Then come back here to try it yourself with Vagrant!
You will also need Vagrant 1.7.2 and Virtualbox installed.
$ git clone email@example.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.
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
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:
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).