New Mac with High Sierra

This post outlines how to set up a new MacOS High Sierra with sane default dotfiles and basic applications. Dotfiles are heavily influenced by Mathias Bynes. My own dotfiles can be found here. Install brew Homebrew is a package manager which greatly simplifies the set up and maintenance of packages. 1 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" Clone the dotfiles 1 git clone https://github.com/SirIle/dotfiles.git ~/.dotfiles Install the default packages with a bundle 1 2 cd .dotfiles brew bundle Run RCM RCM links the files in the .dotfiles folder to the user’s home directory. This way they can easily be maintained with git in their own folder without the home folder becoming too complex with .gitignore. ...

April 14, 2018 · 2 min · Ilkka Anttonen

Minimal Docker containers with Go using GitLab CI

Contents General I’ve been fascinated with minimalism with Docker and containers for a long time. That has lead me to exploring scratch-containers and statically linked executables. As I don’t have that much experience with c or c++ and wanted to try something new anyway, I picked up some go and started figuring out what would be the easiest way to achieve statically linked, minified images. While figuring out what’s the best way to build a Docker image out of the executable I ran into go-lang-builder by CenturyLinkLabs. They provide a really easy way to build the executable using a container to build a container which makes it trivial to do the build as part of a CI/CD process. ...

September 29, 2016 · 7 min · Ilkka Anttonen

Running Example Voting App in Docker Cloud

Contents Update 16th June 2016 Now the base images have been updated to use alpine:3.4.0, so creating own fork isn’t necessary any more. I updated the configuration example to reflect that. General In this post I’ll show how to get the Docker’s example-voting-app to run on Docker Cloud. At the moment it requires some tweaks to the application as the service discovery in Docker Cloud is built on DNS which is a bit bugged in Alpine base image version 3.3.0 which is used in some components of the application, but that allows me to demonstrate the build mechanism that Docker Cloud offers. End result will be a scalable version of the application with HAProxy-based load balancing for both voting-app and result-app. ...

June 8, 2016 · 6 min · Ilkka Anttonen

Distributed Elixir nodes on Docker Beta and Docker Swarm

Contents General In this post I’ll take a look into running distributed Elixir nodes both on Docker Beta and Docker Swarm. When I started trying out Elixir I quickly ran into this article by Jon Harrington about running Elixir on Docker and also found out that Marlus Saraiva had done an excellent job of minimizing the Elixir containers so that they run on Alpine. The examples in the first article were a bit dated and more cumbersome than they would need to be with the modern Docker networking and also instructed about creating Elixir images which were based on Ubuntu. This post combines the examples of Jon’s article with the networking redone and with the examples running on the Marlus’ minimized images. ...

May 19, 2016 · 5 min · Ilkka Anttonen

Trying out Kubernetes 1.2

Contents General In this post I’ll go over setting up a simple application on the newly released Kubernetes 1.2 version. I am not that familiar with earlier Kubernetes versions as I haven’t been a fan of all the necessary configuration to get simple things running, but with version 1.2 a lot of progress has been made to make k8s easier and simpler to use. Installation Installing Kubernetes on OS X is straightforward. You just run the two lines ...

March 24, 2016 · 7 min · Ilkka Anttonen

Automatic scaling with Docker 1.9 and overlay network locally and in AWS

Contents General In an earlier [post]({% post_url 2015-11-25-getting-overlay-networking-to-work-in-aws-with-docker-19 %}) I demonstrated how to get the new Docker 1.9 overlay networking to work in AWS using Docker Machine. In this post I add the scaling related parts from [another earlier post]({% post_url 2015-08-05-part-2-scaling-in-amazon-aws-vpc-with-docker-docker-machine-consul-registrator-haproxy-elk-and-prometheus %}) into the mix, namely Consul, registrator and HAProxy combined with consul-template. The examples should run both locally using VirtualBox and in Amazon. Set-up in VirtualBox The set-up consists of a private registry to help speed up the creation of nodes and also to mimic a more production like environment. In addition there is an infra-server containing the Consul which is used to handle the overlay-networking configuration as well as docker swarm configuration. It also contains the optional ELK stack as well as Prometheus for monitoring. ...

December 14, 2015 · 5 min · Ilkka Anttonen

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