Pratical Application of Docker and Ruby

Overview

docker-datafeeder, is my first real world use of, and learning experience of, docker and linux containers.

I needed something to continiously feed a constant stream of data files for processing. The files have time-stamped names, along the lines of “CDR.20121101.225323.abc”

I needed to have the timestamp part of the file name changed to the current time.

I had to be able to deliver multiple streams of files, to multiple servers and also wanted to prevent a serious backlog of files building up in the event one or more systems stopped processing the feeds.

To top it off, I wanted to present a decent UI to the end users of this tool, not just a command line interface.

Warning & Note

First, lets get the bad news out of the way..

-v mounts volumes within the container.

So THIS IS NOT PORTABLE!!

kittens will die, I know :–( But for the moment I need this.

To run

To launch the contanier:

CONTAINER_ID=$(docker run -d -i -t -e USERNAME=william -e SERVERNAME=mybigserver -v /home/johnzan/feeder01:/feeder:rw johnzan/feeder:0.18)

To view the logs

To launch the contanier:

docker logs -f $CONTAINER_ID

To get the image

Check out my image from the docker index site

The ruby code and docker file are also available on github

Advertisements
About

Assistant brewer. Ex DevOps Lead & backend code wrangler. Still likes to code. Into Go, APIs & Docker. Obviously an avid home brewer.

Tagged with: , , , , , ,
Posted in Container, Docker, Linux, Ruby, Ubuntu

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: