29 Oct 2015 in Series: Ready Made, Docker Hub, Docker

5 Ready-made OSS Docker Images

Traditionally, Open Source Software (OSS) software has had a reputation for being hard to install and brittle to maintain.<!--more-->

And rightly so. That ./configure && make && make install command very rarely went as a smoothly as you’d like it to. Nevermind the hours you’d pour over "the documentation" to figure out how to get a working configuration for your system.

Many medium to large OSS projects recognise this problem and work hard to get into Linux distributions like Ubuntu or RedHat. (Alternatively providing their own packages to be downloaded from the project specific package repository.) Once that’s done, installation is as easy as apt-get or an rpm run.

But there is an alternative to this that works well for people who prefer to work with containers over manual system administration. Increasingly, OSS projects are providing ready-to-use images that make it easy to get up-and-running. Just take a look at the Docker Hub and see for yourself how many images are available for installation.

This post highlights five useful OSS Docker images, look at their default configuration, and suggest ways to modify them to make them work for you.

Read More
27 Oct 2015 in Kubernetes, Development, Containers

Zero to Kubernetes Dev Environment on OS X

Many people we talk to are interested in experimenting with Kubernetes but find that putting together a development environment is daunting.

Kubernetes Solo OSX (Kube Solo) provides a lightweight, simple Kubernetes enviroment that is easy as a few clicks.

Kube Solo wraps coreos-xhyve and runs in your Mac's status bar. With a few clicks Kube Solo provisions a CoreOS server and boostraps Kubernetes development environment.

Since Kube Solo is based on xhyve there is no need to have VirtualBox and Vagrant installed on your Mac.

Read More
22 Oct 2015 in Docker, Containers

Going Beyond Hello World Containers is Hard Stuff

In my previous post, I provided the basic concepts behind Linux container technology. I wrote as much for you as I did for me. Containers are new to me. And I figured having the opportunity to blog about the subject would provide the motivation to really learn the stuff.

I intend to learn by doing. First get the concepts down, then get hands-on and write about it as I go. I assumed there must be a lot of Hello World type stuff out there to give me up to speed with the basics. Then, I could take things a bit further and build a microservice container or something.

I mean, it can’t be that hard, right?

Wrong.

Maybe it’s easy for someone who spends significant amount of their life immersed in operations work. But for me, getting started with this stuff turned out to be hard to the point of posting my frustrations to Facebook...

But, there is good news: I got it to work! And it’s always nice being able to make lemonade from lemons. So I am going to share the story of how I made my first microservice container with you. Maybe my pain will save you some time.

If you've ever found yourself in a situation like this, fear not: folks like me are here to deal with the problems so you don't have to!

Let’s begin.

Read More
15 Oct 2015 in DockerCon

DockerCon 2015 and the Future of the Container Technology

In my previous post, I told the story of how I came to find out about Docker, and how Docker has improved my development practice as a freelancer. In this post, I want to talk about why I’m excited by the interesting announcements, hot tools, and cool demos made public during the last Docker conference, DockerCon, held in San Francisco this June.

The theme of this year’s DockerCon was "Docker in production". There were around two thousand attendees. That’s four times as many as the previous year. And the previous year was the first ever DockerCon. This increase in attendance is a reflection of the phenomenal success and rising popularity of Docker.

Here are my take-aways from the conference.

Read More
8 Oct 2015 in Tutorial, Docker

Create and Share Your First Docker Image

In the previous post, we looked at Dockerfile instructions, Dockerfile syntax, Docker images, and Docker containers. Let’s put of all of this Docker knowledge we have into action, i.e. take a real life scenario, and use Docker to simplify it.

Imagine you’re developing an awesome new application and need a Redis service (more on Redis later) to handle its data. Now, you can install Redis locally if you’re the only one developing the application. But in a distributed environment, you want everyone to use the same set of similarly configured services so there are no surprises during deployment. A simple solution is to create a Redis Docker image and distribute it across the teams.

We’ll start by creating the Dockerfile. Then we’ll create the Docker image from the Dockerfile. We’ll run it as a containerized service. Then finally, we’ll learn how to use the Docker hub to share your Docker images.

Read More