29 Dec Devops and Docker
The holiday period between Christmas and New Year is an ideal period to catch up on some reading and experimenting. Devops and tools such as Docker, Vagrant, Chef, Puppet and Ansible were on my radar for a while. So finally some time to dive into this topics.
Not to mess up my machine, I use VMWare workstation to spin up some test machines. As these Devops tools are all about creating and provisioning virtual machines, one must enable “Nested VMs” support. This allows one virtual machine to run in another.
Docker appeared on my radar while learning about Micro Services. Docker focuses on the creation of light-weight containers in which applications are configured in an automated manner.
The Linux Containers are very small by leveraging OS level virtualization of Linux. Is it some “chroot on rocks”. The chroot system call on Unix/Linux changes the root directory for a program and all of its children. chroot allows programs – e.g. a web server – to run in a more protected mode. The OS level virtualization can limit all the resources used by child processes: CPU, memory, disk space, … Because containers are so light-weight, many of them can be run on a single machine. This mechanism allows each application to run in its own container, its own virtualized OS.
To have a quick try of Docker, there is a great Online Tutorial consisting of 10 steps. Recommended!
As there aren’t any books available on Docker, I watched the brand new training material of LiveLessons. As I couldn’t find the text material, had to type over the instructions from the paused video. After wasting some time trying to get access the Fedora Atomic container on the Fedora 21 host, decided to switch to another topic, Vagrant. If I have some more time, I’ll come back and retry with RHEL as used in the video training. Or switch to Windows and take a look boot2docker.