Containers are all the rage and show no signs of slowing down. Most enterprise businesses are leaning heavily on containers to do much of the heavy lifting for app and service deployment and for that, admins might tend to use their favorite operating system of choice. But sometimes, that’s like using a jackhammer when a scalpel is necessary.
SEE: Hiring kit: Back-end Developer (TechRepublic Premium)
That’s where purpose-built operating systems come into play and, as far as containers are concerned, there have been a few such operating systems come and go. One new operating system has come into being, called Super Container OS. Although the name sounds like it was pulled out of a Marvel film, this Linux distribution is very much real and very much in the beta stages of development. Even so, this new Linux distribution shows serious promise.
What does Super Container OS feature?
- It can be run as a live or installed OS.
- Docker Container Engine is installed by default.
- Lightweight Containers can be deployed using systemd-nspawn.
- Kubernetes is preinstalled.
- Xen Hypervisor can be run on installation.
- Portainer is preinstalled for Docker management.
- Helm is added for managing packages of pre-configured Kubernetes resources.
- Cockpit is installed and enabled.
- Vagrant Development Environment integration.
- Build CI/CD pipelines using Dagger.
- GUI or ncurses-based OS installer.
Installing Super Container OS: It’s all about Cockpit and Portainer
Super Container OS is installed like any Linux distribution. You can opt for several options:
- Run SOC live.
- Install to a hard disk using a text-based installer.
- Install to a hard drive using a GUI installer.
I attempted all three options, and each worked as expected; however, there’s one thing that might trip you up. During the installation, you are asked to set an admin password. Even upon successful creation of an admin password, that password is unusable for the root user upon installation. You can log in as your regular user, but that user isn’t added to the sudo group. That means you’re not going to be running any admin tasks on Super Container OS. Even when logging into Cockpit — via https://SERVER:9090, where SERVER is the IP address of the hosting server — you cannot run admin tasks.
I’m not quite certain why this choice was made, especially given the need to be able to update the system. From my perspective, that’s a problem. This also presents itself as a problem when using both the Cockpit and Portainer tools. Let me explain.
First off, you can log into Cockpit as a regular user and even use that login for elevated privileges. That doesn’t, however, mean you can really do anything. You can poke around the GUI to see what’s what, but trying to take care of any tasks runs into the same issue: no privileges.
The same thing holds with Portainer. This is a real shame, as running Portainer with Super Container OS is just a matter of running two simple commands:
mkdir /opt/portainer-data
portainer –data /opt/portainer-data
Ah, but do you see the problem? To create the directory in /opt, you need admin privileges. So you’ll need to create the directory within your user’s home, so:
mkdir ~/portainer-data
Then, run the command to start Portainer:
portainer --data ~/portainer-data
Portainer will successfully deploy. However, when you point your browser to http://SERVER:9000, where SERVER is the IP address of the hosting server, you’ll be asked to create an admin user. Guess what? You don’t have permission to create an admin user.
The solution to the problem
I reached out to the developer of Super Container OS who suggested that, during the OS installation, I not create a password for the admin user — which, he said, would add the regular user to the sudo group. After doing just that, lo and behold, it worked.
Although I cringe at the idea of giving the root user a blank password, it seems the root user cannot be accessed anyway, so my fears have been alleviated.
With a usr that belongs to sudo, I can finally explore Super Container OS as it was meant to be. When I create an admin user and log into Portainer, I can see both Docker and Kubernetes environments are already created and ready to go (Figure A).
Figure A
And, of course, logging into Cockpit via https://SERVER:9090, where SERVER is the IP address of the hosting server, I can not update everything, manage users and do anything a sudo-enabled user should be able to do.
My impression of Super Container OS
Aside from the initial stumbling, I found Super Container OS to be a real breath of fresh air in a land that is inundated with complexity. With this OS, you can focus more on the actual development and deployment of your containers, instead of having to first build the necessary environments just to get to that point.
Super Container OS really does a fine job of removing those added complexities to container deployment and I certainly hope the developer behind the OS, Harshad Joshi, continues this journey because he’s on to something that could be a real game changer for some admins.
If you’re just getting into containers, or are looking for an easier route to deployment, Super Container OS might well be exactly what you’re looking for. Just remember to not set an admin password during the installation: Otherwise, you’ll wind up frustrated and have to install it a second time.
Subscribe to TechRepublic’s How To Make Tech Work on YouTube for all the latest tech advice for business pros from Jack Wallen.