Docker

Docker like its name lets a developer create a software and ship it easily. Docker quickly assembles applications from its components and tries to eliminate all problems when it comes to shipping a software. It is the ultimate hackers software because it conforms with the identity of fuck it, ship it. It helps in versioning, that means you can create several versions of the same software and use whichever one you want. Like on Github versioning is possible, imagine the same with Docker. You can even create versions of your operating system with Docker much like Windows has the restore points. Though in this regard Ubuntu offers the backup restore as well. Docker is offers a wide utility and is formed of two main components:

  • Docker Engine
    • It is the container virtualization in which the application runs. It can be thought of as the container which contains all the environment variables along with all dependencies necessary to get the software running.
  • Docker Hub
    • It is the shipping package. Its a SaaS or Software as a Service that helps in managing and sharing the application stack.

Installation

I use Ubuntu 12.04 Precise Pangolin and will be describing the installation on this distro.

It is necessary to update the kernels for 12.04 because Docker does not support the old kernels. So, sudo apt-get update and then install the backported kernels by

sudo apt-get install linux-image-generic-lts-trusty linux-headers-generic-lts-trusty

Then, reboot the system, graphically or do, sudo reboot

Finally, install the lxc-docker package by adding it to the list of repositories in apt. Also add it’s key to your keyring.

With this, Docker has been installed. You can verify by running any package in the Docker container and see that it actually executes.

Chaos

While installing Docker I lost the networking ability of my computer, I am not sure exactly what triggered this. But I think it was because Ubuntu no longer provides support for the old kernels that are supported by Docker now. Though I did update my kernels before installing Docker there must have been something left.

As I always say Terminal is king, the terminal again came to my rescue. The terminal ALWAYS comes to the rescue. Thats why I love Linux so much. No matter how badly you think you have screwed up and the only possible way out now is a fresh installation (which too comes free. :D) the terminal always provides a solution. I cannot stress on the utmost importance and utility of the terminal even if I were to talk about it every single day.

So, here is what I did. I opened my Terminal using Ctrl+Alt+F7 and after hours of manipulation I noticed that something had triggered my iptables to lose their value. Iptables are necessary to configure the Linux kernel firewall. There are several modules that cater to different protocols. Like, iptables cater to IPv4 while ip6tables cater to IPv6, ebtables to Ethernet frames and arptables to ARP.

If the IP tables had no value then they could not detect the system settings and hence my network would never be restored. So I manually changed them by sudo iptables I was using internet behind a mask of proxies so I had to set my college proxy in place. Thus I was able to regain control of my computer’s networking. After installing Docker, now whenever I boot my system it selects the network configuration while booting. This is one major difference that I noticed after installing Docker.



blog comments powered by Disqus

Published

30 November 2014

Tags