DEV Community

An OS where containers are apps. 🐳

Adam Crockett 🌀 on September 03, 2020

⚠️ Thought experiment. Could an OS exist that was hardly an OS at all, and all of its "apps" where infact containers, the GUI would be provided by...
Collapse
 
dharmabruce profile image
Sean J. Vaughan

iOS, Android, and Linux are those OSes. iOS and Android provide app isolation technologies very much like container isolation. Linux has Snap and FlatPak.

Collapse
 
manishfoodtechs profile image
manish srivastava • Edited

Thought experiment.

Good nice you thought for an experiment

Could an OS exist that was hardly an OS at all, and all of its "apps" where infact containers, the GUI would be provided by the OS.

Yes there are os images which are very minimal. An cloud image is 95MB compared to 1.04 GB of its .iso full image.

GUI is you get with desktop environment. KDE, Gnome many

What would developing on such an OS be like, would it mean you could effectively write any technology stack and have it ship as if it where native.
Containers main purpose is to allow different os compatibility in container. Remember, there is difference between KVM and OS containers. With KVM you get virtual machine. This is why windows vm is possible in linux. But with containers, it's not possible to run a window container in linux. But windows wsl2 is allowing linux containers in windows machine.

Maybe it would be more secure by providing isolation for untrusted applications.

Okay there is doubt on security by docker . Actually, docker doesn't provide firewall protection, All users are root for container and thirdly, it has Dockerd daemon. There are certain alternatives like podman which is Rootless. Gvisor, a google project to create separate kernel for docker containers.

Could it maybe run these containers cross distributions and provide a compatibility layer for Windows Mac and Linux.

You craft out containers based on resources of that OS. Linux in linux , windows in windows... But WSL 2 is going good

I thought this was an interesting question, I am a docker newbie trying to learn more.

1) Docker in layman language:

2) Docker Security

3) Create a small personal desktop in docker

For more articles browse my profile.

Do you think this would work or even be successful?

Yes it can work. But it depends upon program you want to run.please remember docker doesn't improve experience . You share same resources with containers. For example: a video player, VLC. ON HOST and inside Docker image will require same resources. Another, networking is tricky.
Systemd is unavailable... So mostly it difficult to install many generic programs on docker.

Also note each docker will require its own gui / xrdp.

Also, meet cloud brothers: three parts story explaining cloud computing, docker etc much...

Collapse
 
adam_cyclones profile image
Adam Crockett 🌀

Amazing info as always Manish thank you sir.

Collapse
 
manishfoodtechs profile image
manish srivastava

Hey Adam, I always see you doing something creative... Good going. Keep it up.

Collapse
 
adam_cyclones profile image
Adam Crockett 🌀 • Edited

rancher.com/blog/2019/comparison-o...

github.com/rancher/os

+

wiki.ros.org/docker/Tutorials/GUI

= 😍

They exist! Now let's fork one and make the next apple 🍎... I wish

Collapse
 
kostassar profile image
Kostas Sar

I think that Qubes OS is what you are looking for.

Qubes OS is a free and open-source, security-oriented operating system for single-user desktop computing. Qubes OS leverages Xen-based virtualization to allow for the creation and management of isolated compartments called qubes.

Collapse
 
adam_cyclones profile image
Adam Crockett 🌀

Hmm that sounds about right, il take a look 😁

Collapse
 
psiho profile image
Mirko Vukušić

Rancher is my choice for all small home and AWS servers now

Collapse
 
elmuerte profile image
Michiel Hendriks • Edited

It's called Plan9 and it has existed for a really long time.
It's not exactly containers, but everything in that OS is distributed which has as benefit that everything can be isolated.

Collapse
 
adam_cyclones profile image
Adam Crockett 🌀

That's really interesting il take a look thanks for the heads up.

Collapse
 
jimas13 profile image
jimas13

here is a great video that explains much about the enquiry
youtube.com/watch?v=cMsIT2otEjA

Collapse
 
adam_cyclones profile image
Adam Crockett 🌀

This will surely help, thank you 😁

Collapse
 
vonheikemen profile image
Heiker

Could it be done? I think so. You're not the first one that wants to run everything in containers. I think you'll find this talk interesting.

Collapse
 
adam_cyclones profile image
Adam Crockett 🌀

This is very cool thanks!!