One of my readers asked me what platform I use for my docker containers in the lab. He assumed it is one of the public cloud platform providing such service. This is not true. I run few containers in public cloud, but this is not cost-optimal for lab tests. Especially in the way I sometimes work, when there might be few hours gap between the tests. I run all the containers locally on my own infrastructure which does not consist of few racks in mine basement. Actually, it is very small, so it has to be resource-optimal. I decided that for now, VMware Photon OS Project is the best solution for me.
Where I can run containers?
Thinking about the host for docker solution most of us probably can name few most popular:
- Public cloud docker service
- Running docker on a local server
- Using own laptop with local docker installation
- Setting up docker on VM hosted anywhere
I excluded public cloud due to the cost. Some of my projects or tests can run for weeks and I don’t want to pay for computing power or storage when I don’t use them and I don’t want to start configuration from the scratch after a long break.
I have docker installed on my MacBook but I treat it as a last resort solution. Let’s face is – MacBooks does not have much of computing power, and what is more important, the RAM memory is limited. Consider running your browser, email client, IDE environment and all system services in the background you will shortly run out of the memory.
I do not have any server at home or hosted anywhere, so far there was no necessity of such. But I have desktop PC with Windows that has i7 CPU and 32GB of RAM. On this PC I run virtual machines like the Cisco VIRL or any software that is available as a virtual machine. There is no difference with docker.
Photon OS – a VM for containers
Setting up the VM for docker should not be a hard task. You can install any Linux distribution then add docker from packages or download it directly from the project website. It is easy but what you get is also the large overhead of packages that you really do not need or the whole GUI subsystem you do not want to use.
I was looking for a distribution focused on docker and found VMware Photon OS Project. VMware describes it as “Container-Optimized Linux Operating System”. I use it for a few months already and I am happy with my choice. Why?
- No GUI, just CLI
- Docker is included by default, the current version is 17.06.0-ce, build 02c1d87
- Minimum required resources are 2GB of RAM and 512MB of HDD, but usually, you install the Full version that requires 8GB or 16GB depending on hypervisor platform.
- It supports Mesos and Kubernetes
- You update and maintain it as any Linux operating system, but you are always sure that updates won’t break the docker service
- Packages are built with hardened security flags so you may consider using Photon OS not only in your lab but also as a production system
- You can install it from ISO or OVA on VMware Workstation or ESXi or vCenter. Of course, you can easily move the VM to another host if required
- The minimal configuration you may want to do is setting up ‘root’ password and static IP address. Nothing more
- Built-in management daemon takes care o firewall, networking, and other things so you can focus on containers
- It is FREE!
Those are just a few reasons why I decided to use Photon OS. So far it works for me. VMware provided installation manuals as well as administration manuals on project websites. You will find there also some How-To tutorials.
If you are making your first steps in containers world or you need a flexible solution for your lab I recommend giving a VMware Photon OS a try.