Docker Power

Docker hype is gone, long live docker ...

   Some coworker of mine just told me that when I explained to him I had just re-discovered the existence of docker. To be clear, I think I missed the train on that one by a long shot. Docker has been around and growing for a few years now since its initial public release in March 2013.

What is docker ?

  Let us start by what it is not. It not a virtual machine system (not per say), it is not a lazy way for lazy developper to package a simple application and its dependencies (or is it ?), it is a lightweight, elegant (does it matter ?) and interesting way to package / contain (in the sense separate, restrain and control) and deploy / distribute applications. The word application should be understood as some large runtime with very specific interactions and dependencies that you wish to deploy on a certain numbers of servers. I do not think it should be use to package basic application with very basic dependencies that are supposed to run once.

Ressource for using Docker on Ubuntu

A simple tutotial can be found here: https://docs.docker.com/install/linux/docker-ce/ubuntu/. The next stop will be reading about Dockerfile (kind of Makefile for a docker image) https://docs.docker.com/engine/reference/builder/#usage . Finally, you should have a okk at docker's hub (https://hub.docker.com/) which stores and indexes pre-built docker images. You can browse through it to look for the basis for your own image.

My day to day use of docker

I now use docker on a daily basis for metalibm (https://github.com/kalray/metalibm) and pythonsollya (https://gitlab.com/metalibm-dev/pythonsollya) integration. Those two tools have a lot of dependencies which do not exist under standard linux packages. It was very easy to build a docker container, use gitlab registry and fire it up every time I want to validate change.

References

  1. Docker official website https://www.docker.com/
  2. Wikipedia's page (always interesting) https://en.wikipedia.org/wiki/Docker_(software)
  3. Docker's hub (registry for docker images): https://hub.docker.com/