Using an external SSD as a "containerized" Linux OS?
Linux - GeneralThis Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Using an external SSD as a "containerized" Linux OS?
I've done a search for this, but I get too much cruft to sort through, maybe someone here can help or point to available books/manuals/online resources.
My basic premise is to us an existing distro, maybe maintained as a minimal, semi-immutable OS, use this to build a non-bootable Linux install on an external SSD, then SSH (or similar tool) into it to install and run whatever software i want in that OS as a de-facto containerized OS. The idea is not to use docker or other container like software that someone else controls. I would like to keep the option of later adding a bootloader to this SSD and be able to boot into the Linux distro that I've built. I plan partition the SSD with this idea in mind, in advance.
Is such a thing even possible or would I need to have an actual separate computer running this as a server?
I'm not a noob to computing, fairly new to Linux, but I know my around the terminal and software development.
Doing update/upgrades would be hairy (your system isn't the running one), which means doing chroot and running binaries that aren't compatible like run time libs and paths.
I think you probably just want to run virtualization like virtualbox. You could install what you want and there are tutorials on converting to real disk but most people have little need for that. You can run it on your host or dedicate a box for that and just ssh/X into it, or run virtual desktop to them.
@sev.k: I sense in your post a bit of confusion as to what "containerization," "virtualization" and maybe even "[dual]-booting" actually is. (Also, how "docker" relates to "containerization in general.") I would simply like to make a few comments here with the intent of cleaning up that confusion. I'm not going to attempt to address your original post point-by-point. Instead, I would like to clarify these terms.
Dual-Booting refers to the ability to choose which operating system will (completely ...) control your machine when you power it on. You are first presented with some kind of menu. Once you make your selection, control is passed to the target OS's boot-loader as though the intermediate step had never existed. Once in control, the chosen OS has unfettered access to the entire hardware as it actually exists.
Virtual Machines use a layer of software which is able to conceal the entire nature of the so-called "host machine" from its "guest." Instead, it presents the "guest" with a completely functional illusion of "real hardware." So thorough, in fact, that a completely different operating system from the "host" can be run in the "guest."
Containerization works from the reality that "virtual machines are often overkill." It works by rose-colored glasses. The container occupant's software – which must be of the same OS-type as the host – in fact does run directly on the host. But, it cannot "see" the host. It "sees" only an illusion that is artfully created by the host: filesystem structure and content, network architecture, user-ids, and "am I root?"All of this is an illusion. Yet, the container's processes actually are "ordinary host-system processes," being directly(!) run by the host.
Docker® is, shall we say, "a packaging of" the container concept, intended to make commonly-encountered [cloud ...] use-cases even easier to handle. The system provides a large library of pre-fabricated containerized components – "an Apache web server, a MySQL database" – and strives to make each of them "a black box." The idea is to reduce the number of things that you actually have to do in order to get a particular job, when "that particular job" is in fact "more similar to what 'everybody else' is doing" than different. It's a great idea that works great ... when it works. But, my personal experience has been that: "well, maybe there's a little bit too much of a good thing." When your particular needs evolve even slightly, it can become a problem.
But there are other players in this space, with different objectives, such as Kubernetes®, which tries to focus on "management at scale." And, public services such as RackSpace.® All of these are technologically based on the "containerization" model and its derivatives.
Last edited by sundialsvcs; 08-06-2022 at 08:05 PM.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.