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
1 Oct 2015 in Series: Ready Made, Containers, Docker, Round-up

Five More Popular Java-based Docker Images

In my last post, I looked at a few Java-based Docker images that can streamline your container workflow. I highlighted some of the issues you can run into when working with Apache Hadoop, Apache Tomcat, Apache Maven, Stash, and Glassfish in containers. I also provided a few workarounds.

In this post, we’ll review five more Java-based Docker repositories, along with some of the current bugs that you might run into when working with them.

Read More
24 Sep 2015 in Overview, Perspective

A Developer’s Journey into Linux Containers

Frustrated Developer

I’ll let you in on a secret: all that DevOps cloud stuff that goes into getting my applications into the world is still a bit of a mystery to me. But, over time I’ve come to realize that understanding the ins and outs of large scale machine provisioning and application deployment is important knowledge for a developer to have. It’s akin to being a professional musician. Of course you need know how to play your instrument. But, if you don’t understand how a recording studio works or how you fit into a symphony orchestra, you’re going to have a hard time working in such environments.

In the world of software development getting your code into our very big world is just as important as making it. DevOps counts and it counts a lot.

So, in the spirit of bridging the gap between Dev and Ops I am going to present container technology to you from the ground up. Why containers? Because there is strong evidence to suggest that containers are the next step in machine abstraction: making a computer a place and no longer a thing. Understanding containers is a journey that we’ll take together.

In this article I am going to cover the concepts behind containerization. I am going to cover how a container differs from a virtual machine. I am going to go into the logic behind containers construction as well as how containers fit into application architecture. I’ll discussion how lightweight versions of the Linux operating system fits into the container ecosystem. I’ll discuss using images to create reusable containers. Lastly I’ll cover how clusters of containers allow your applications to scale quickly.

In later articles I’ll show you the step by step process to containerize a sample application and how to create a host cluster for your application’s containers. Also, I’ll show you how to use a Deis to deploy the sample application to a VM on your local system as well as a variety of cloud providers.

So let’s get started.

Read More
17 Sep 2015 in Docker, Overview

Dockerfile Instructions and Syntax

In my previous post we learnt about Docker basics and its installation process on a non-Linux system. We also learnt about Docker architecture and the terminology used while dealing with Docker. But what next?

All this knowledge is no good if can’t solve a real life problem.

We all know that Docker simplifies application deployment via containerization. But how does that happen, and how can you use Docker to deploy your own application quickly?

To understand this, we need to understand the image creation process and the steps to spawn a container from an image.

So, let’s start with the process of creating Docker images.

Read More