Getting overlay networking to work in AWS with Docker 1.9

Contents Update on 4.12.2015 Docker-machine 0.5.2 has been released and it works against systems using systemd, so it’s not necessary to compile it manually any more. General Docker 1.9 was released a while ago and with it the networking model was redone. Most interesting feature is the overlay networking which enables a seamless networking between containers on different hosts. The current examples mainly use VirtualBox and demonstrate how things work locally. In this article I go through the steps needed to get the overlay networking to function in AWS using Docker Machine and Swarm. ...

November 25, 2015 · 5 min · Ilkka Anttonen

Using Docker 1.10 experimental with docker-machine and VirtualBox driver (boot2docker)

Contents Update on 20.11.2015 New experimental version is 1.10. The image can be found from here. Major experimental thing is the user namespaces. Update on 27.8.2015 I ran the build for newest experimental and the image for boot2docker for experimental 1.9 can be found from here. I updated the examples to use 1.9. The post can be found from both URLs. TL;DR To use boot2docker.iso which includes the 1.10 experimental Docker (at the moment Docker version 1.10.0-dev, build 0cdc96c, experimental), create the machine with ...

November 20, 2015 · 3 min · Ilkka Anttonen

Cassandra cluster on Docker Swarm and Overlay Networking using Docker Experimental 1.9

Contents General In an [earlier blog]({% post_url 2015-07-15-docker-swarm-and-experimental-multihost-networking-with-docker-machine-and-boot2docker %}) I demonstrated how a local boot2docker based Docker experimental using overlay networking on Docker Swarm can be set up. In this article I show how a Cassandra cluster can be set-up on top of the overlay network. A boot2docker image containing the experimental version is used. Information about building it can be found [here]({% post_url 2015-08-27-using-docker-19-experimental-with-docker-machine-and-virtualbox-driver-boot2docker %}). Overview of the Architecture The set-up consists of an infra-node which contains the Consul server used as the back-end for overlay networking. As the overlay networking is still in an experimental stage it has some issues. It for example breaks the outside connectivity of the containers. This prevents building of images. For this reason infra-node is used for building. ...

September 30, 2015 · 5 min · Ilkka Anttonen

Using Docker 1.10 experimental with docker-machine and VirtualBox driver (boot2docker)

Contents Update on 20.11.2015 New experimental version is 1.10. The image can be found from here. Major experimental thing is the user namespaces. Update on 27.8.2015 I ran the build for newest experimental and the image for boot2docker for experimental 1.9 can be found from here. I updated the examples to use 1.9. The post can be found from both URLs. TL;DR To use boot2docker.iso which includes the 1.10 experimental Docker (at the moment Docker version 1.10.0-dev, build 0cdc96c, experimental), create the machine with ...

August 27, 2015 · 3 min · Ilkka Anttonen

'Part 2: Scaling in Amazon AWS VPC with Docker, Docker Machine, Consul, Registrator, HAProxy, ELK and Prometheus'

Contents General In the [previous post]({% post_url 2015-07-28-scaling-with-discovery-on-docker-swarm-with-consul-registrator-and-haproxy-with-prometheus-monitoring-and-elk-log-aggregation %}) I demonstrated scaling on a local VirtualBox environment using HAProxy based load balancing with added service discovery and scaling over multiple nodes on Docker Swarm. In this article I show how the updated scripts can be used to control an environment running on Amazon Virtual Private Cloud (VPC) environment. Update on 6.10.2015! The scripts have been quite extensively updated and cleaned up for presentation in OpenSlava 2015. I’ll describe the new functionality in a separate blogpost later, but have updated this so that the commands should work. Major addition has been the setting up of private registry both locally and in AWS and loading the images there. This also supports the experimental overlay network version of the demo. For launching containers for images not in the private registry use the shell script ./startExtService.sh as the default ./startService.sh tries to fetch the image from the private registry. ...

August 5, 2015 · 5 min · Ilkka Anttonen

'Scaling with discovery on Docker Swarm with Consul, Registrator and HAProxy with Prometheus monitoring and ELK log aggregation'

Contents Update on 5.8.2015! The scripts have been updated so that the examples can also be run in Amazon Virtual Private Cloud. More information can be found from the [second part of the post]({% post_url 2015-08-05-part-2-scaling-in-amazon-aws-vpc-with-docker-docker-machine-consul-registrator-haproxy-elk-and-prometheus %}). Update on 6.10.2015! The scripts have been quite extensively updated and cleaned up for presentation in OpenSlava 2015. I’ll describe the new functionality in a separate blogpost later, but have updated this so that the commands should work. Major addition has been the setting up of private registry both locally and in AWS and loading the images there. The startService.sh command first tried to use the local registry and if the image can’t be found there, it’s downloaded from the Docker hub. This also supports the experimental overlay network version of the demo. ...

July 28, 2015 · 11 min · Ilkka Anttonen

Switching to Alpine from BusyBox

Contents General I have used Progrium’s excellent BusyBox image as the base of my minicontainers for quite some time. Recently it seems that the upstream changes cause all the packages installed with the opkg package manager it uses to fail as OpenWRT switched to musl. Easiest way forward is to switch to using Alpine as it also has a minimal size. Package manager Alpine uses uses apk as the package management tool instead of opkg that progrium’s BusyBox image used. It seems that apk package are maintained quite well and all the packages I have needed so far are there. ...

July 20, 2015 · 2 min · Ilkka Anttonen

Docker Swarm and experimental multihost networking with docker-machine and boot2docker

Contents General After getting the [overlay networking to work with Docker experimental and docker-machine locally using boot2docker]({% post_url 2015-07-14-docker-multihost-networking-using-overlay-driver-with-docker-machine-and-boot2docker %}), I wanted to get Docker Swarm to work with overlay network as described in Docker’s blog. There were some differences in setting the system up when compared to running it on Digital Ocean like in their example, but with some tweaking the example works. The idea is that first you create a node for running Consul and then a swarm master and one or multiple swarm nodes that run the containers. As all the nodes are configured to use overlay networking by default, the created containers can directly talk to each other without any extra tweaking. ...

July 15, 2015 · 5 min · Ilkka Anttonen

Docker multihost networking using overlay driver with docker-machine and boot2docker

Contents General After getting [boot2docker to work with the Docker experimental version]({% post_url 2015-07-02-using-docker-18-experimental-with-docker-machine-and-virtualbox-driver-boot2docker %}) I wanted to try overlay networking between different hosts. The blog posts on Docker repository are getting better, but still I encountered a few issues before getting things to work locally using boot2docker instead of the Digital Ocean they use as example. This article expects that the Docker experimental command line version has been installed locally. ...

July 14, 2015 · 4 min · Ilkka Anttonen

Using Docker 1.10 experimental with docker-machine and VirtualBox driver (boot2docker)

Contents Update on 20.11.2015 New experimental version is 1.10. The image can be found from here. Major experimental thing is the user namespaces. Update on 27.8.2015 I ran the build for newest experimental and the image for boot2docker for experimental 1.9 can be found from here. I updated the examples to use 1.9. The post can be found from both URLs. TL;DR To use boot2docker.iso which includes the 1.10 experimental Docker (at the moment Docker version 1.10.0-dev, build 0cdc96c, experimental), create the machine with ...

July 2, 2015 · 3 min · Ilkka Anttonen