Multi-Container Application Packaging With Nulecule

I got an opportunity to talk about “Project Atomic and Multi-container application packaging”  in recent docker meetup Bangalore. I have posted my slides to slideshare [1].

However I thought of giving more context and further pointers to the presentation through this blog.

As mentioned in my slide, Nulecule is a specification to define a multi-container applications.  So that we can get rid of the custom shell scripts, long docker run commands, moving the required configuration files and instructions about how to deploy the application to the end user.

Checkout the YouTube video about why we need  Nulecule: From the Nulecule Nest to an Atomic App

However just having a specification will not solve the problem. We need a code to do the required work to run multi-container application using Nulecule specification and that is Atomic App project .

Atomic App performs all actions to run the application by reading the Nulecule spec. Atomic App is used as a docker image.

To run the Atomic App installer for your application , atomic command line is used.

Here is the workflow if you want to build Atomic App installer for your application using Nulecule specification.   Please keep in mind that when I say application, I am actually talking about multi-container application.

Step-1

Write Nulecule specification files. Which also  includes manifesto files for underlying required orchestration platform (e.g. Kubernetes, OpenShift, Docker Compose, Apache Mosos Marathon etc)

Here is a blog from Ratnadeep about how he created a nulecule-ized application -> http://www.rtnpro.com/nuleculizing-an-docker-image/

Step-2

Create the layered docker image (use Atomic App docker image as base image) of the application. Which will include Nulecule specification and Atomic App code.

You can push the new image to your local docker registry or public docker hub for your use.

Step-3

Running the Atomic App image for the application. Here is a example of running a helloapache Atomic App -> https://hub.docker.com/r/projectatomic/helloapache/

Note that there are three way to run an Atomic App i.e.

  • Option 1: Non-interactive defaults
  • Option 2: Unattended
  • Option 3: Install and Run

Here is a YouTube video which shows a demo : WordPress Nulecule Demo

For further read check  Vasik’s presentation or Nulecule github project.

Get Involved:

Nulecule Poject: https://github.com/projectatomic/nulecule
Atomic App: https://github.com/projectatomic/atomicapp

Check the README files of the above projects for relevent communication channels for participating in the project.

[1] http://www.slideshare.net/then4way/project-atomicnulecule
[2] http://www.rtnpro.com/nuleculizing-an-docker-image/
[3] http://www.slideshare.net/VavPavl/nulecule

Linux Container Track at FUDCon, Pune 2015

FUDCon is the Fedora Users and Developers Conference, a major free software event. It is an annual event per region (e.g. APAC). This year FUDCon APAC is  happening at Pune, India From 26th June to 28th June 2015.  For details check out the FUDCon India home page.

FUDCon is always free to attend for anyone in the world. If you are looking for open source and free software contributors/developers, learn latest/new technologies, learn how to contribute to Fedora and other upstream projects, want to hangout and hack on interesting stuff , it is one of the finest place to be present.

This year we are having a Linux container track in FUDCon for full day. The idea of a separate track came because of the more number of talks/workshops proposals submitted related to containers and high interest from community about learning Linux containers e.g. Docker related technologies.

To start with, we have a talk about “Running Project Atomic and Docker on Fedora” in the main track by me and Aditya on Saturday, 27th June 2015. And the container track is on next day i.e. Sunday 28th June 2015.

Here are the list of talks and workshops planned for the container track.

Note : The topics of the container track has changed from the time I had published the blog.  So the I have updated the above list.

For the workshops, you need to carry your laptop. We are planning provide preconfigured virtual machine images for KVM and Virtual box. Also planning to distribute the images using use usb sticks/thumb drives. So if you have usb/thumb drive, please carry them with you as it will help you/others to quickly set-up their environments.

So if you are interested to learn about Linux containers or hack around Linux containers, Docker, come join us on container track in FUDCon 2015, Pune.