Unpacking Docker images with Undocker

In some ways, the most exciting thing about Docker isn’t the ability to start containers. That’s been around for a long time in various forms, such as LXC or OpenVZ. What Docker brought to the party was a convenient method of building and distributing the filesystems necessary for running containers. Suddenly, it was easy to build a containerized service and to share it with other people. I was taking a closer at the systemd-nspawn command, which it seems has been developing it’s own set of container-related superpowers recently, including a number of options for setting up the network environment of a container.
read more →

Installing nova-docker with devstack

This is a long-form response to this question, and describes how to get the nova-docker driver up running with devstack under Ubuntu 14.04 (Trusty). I wrote a similar post for Fedora 21, although that one was using the RDO Juno packages, while this one is using devstack and the upstream sources. Getting started We’ll be using the Ubuntu 14.04 cloud image (because my test environment runs on OpenStack). First, let’s install a few prerequisites:
read more →

External networking for Kubernetes services

I have recently started running some “real” services (that is, “services being consumed by someone other than myself”) on top of Kubernetes (running on bare metal), which means I suddenly had to confront the question of how to provide external access to Kubernetes hosted services. Kubernetes provides two solutions to this problem, neither of which is particularly attractive out of the box: There is a field createExternalLoadBalancer that can be set in a service description.
read more →

Installing nova-docker on Fedora 21/RDO Juno

This post comes about indirectly by a request on IRC in #rdo for help getting nova-docker installed on Fedora 21. I ran through the process from start to finish and decided to write everything down for posterity. Getting started I started with the Fedora 21 Cloud Image, because I’m installing onto OpenStack and the cloud images include some features that are useful in this environment. We’ll be using OpenStack packages from the RDO Juno repository.
read more →

Creating minimal Docker images from dynamically linked ELF binaries

In this post, we’ll look at a method for building minimal Docker images for dynamically linked ELF binaries, and then at a tool for automating this process. It is tempting, when creating a simple Docker image, to start with one of the images provided by the major distributions. For example, if you need an image that provides tcpdump for use on your Atomic host, you might do something like: FROM fedora RUN yum -y install tcpdump And while this will work, you end up consuming 250MB for tcpdump.
read more →