Top 5 operating systems for your Docker infrastructure
Docker runs on 13 major operating systems that include RHEL, Ubuntu, openSUSE, Arch Linux, and others. However, these operating systems are full-featured distributions, and are an over-kill for container based services.
Docker containers only need a limited set of Linux kernel features. But almost all traditional operating systems come pre-loaded with services and kernel features that are not used by Docker.
This additional “bloat” translates to unwanted resource usage, security overhead, and other maintenance issues. These issues led to the rise of minimal operating systems optimized for containers.
Here we’ll take a look at the top 5 tiny operating systems that could be a good fit for your Docker infrastructure.
CoreOS is a production-ready operating system optimized for container hosting. Some of the key features are:
- Service discovery : CoreOS automatically detects a new Docker container that is brought online in the network. So, if a new Docker container running a web server is booted, CoreOS adds it to the production service cluster, enabling faster scaling up of the infrastructure.
- Cluster management : Managing production services spread over a lot of Docker containers can be a pain. CoreOS uses Google’s Kubernetes to tackle this problem. It can be used for load balancing, container replication, and other cluster management functions.
- Auto-updates : CoreOS can be configured to automatically update itself. Using a service called “Locksmithd”, upgrades in a Docker-cluster can be configured to avoid service downtime.
High-tech – Handle with care
Hurdles in CoreOS setup : CoreOS is built around a series of bleeding edge web technologies such as service discovery, virtual networking, and distributed services. So, setting up a working CoreOS cluster can get quite complex.
Some common issues that we’ve faced during setup are broken clusters, boot failures, and Docker networking errors. We help customers resolve these errors on a case-by-case basis and build a Docker-CoreOS system that’s tailored for their business needs.
CoreOS maintenance challenges : While things like OS updates, cluster management, etc. are easier in CoreOS, it does throw some unique maintenance challenges. Some of the common ones are authentication errors, storage drive errors, network splits, and more.
Bobcares helps customers maintain a healthy CoreOS environment by monitoring network health parameters 24/7, and providing emergency assistance in case a cluster function fails.
[ Setting up a Docker infrastructure need not be hard or costly. Our Docker experts are here to help you with everything from setup to maintenance. ]
2. Project Atomic / RHEL Atomic Host
Atomic Host is Red Hat’s contribution to minimal operating systems. It is available in RHEL, Fedora and CentOS releases, and has out-of-the-box support for Docker. If you have Red Hat compatible servers, Atomic Host could be the easiest to integrate into your network.
Atomic Host based infrastructure has the following features:
- Fix broken updates : The package manager in Atomic Host (called rpm-ostree) can be configured to allow a software roll-back. We’ve found this feature quite useful in production systems where system updates can sometimes break containers. A roll-back allows a quick fix that helps restore services.
- Strong security using SELinux : SELinux is a proven Access Control technology that can be configured to prevent security exploits. Atomic Host has built-in support for SELinux, with which we’ve been able to setup strong container isolation that’s close to hardware based security.
- Easier management using Cockpit : Cockpit is a web front end to manage Docker containers across multiple servers. This tool makes it easy to monitor and administer your infrastructure from a central location.
Still evolving – Expect system hiccups
Atomic Host setup challenges : Much like CoreOS, Atomic Host also uses a bevy of complex keywords like Flannel bridges, overlay networking and Kubernetes pods to setup just a basic system. On top of that, many of the steps mentioned in the installation guide may not work for all server environments.
While setting up Atomic Hosts, we’ve faced issues with SELinux permissions, storage setup, and DNS configuration. These errors are specific to the kind of servers used in each infrastructure. When we setup Atomic systems for our customers, we customize the service settings, so that these errors are avoided.
Maintenance issues with Atomic Host : Atomic Host is a project that’s still evolving. So, there are occasional system hiccups that can prevent a smooth system operation. For eg. SELinux prevents the Cockpit management UI from restarting. So, unless you know of this issue, you’ll end up scouring Google hours on end.
Our techs face these kind of system glitches all the time. So, when managing Atomic Host systems for our customers, we are able to quickly resolve or prevent these issues, there by ensuring high system uptime.
[ Running a Docker infrastructure is easy, if you hire the right support team. Get world class Docker management services at affordable pricing. ]