5 ms·
They are not hiding behind a non sensical term. Distroless is a established term in the container space. Many images are often offered in both "normal" and "dis
by eirik_ 2y ago
They are not hiding behind a non sensical term. Distroless is a established term in the container space. Many images are often offered in both "normal" and "distroless" flavor, where distroless is stripped of anything that is not needed to run the application, for example curl and shells etc.
Since distroless are lacking all these tools other techniques needs to be used during troubleshooting and debugging.
I think distroless images are great. Less stuff to patch and smaller images.
- persnickety 2y agoA term can be both established and nonsensical, like grandparent's "serverless". It doesn't make sense in multiple ways. "Distro" means "distribution", so "something that is distributed". Aren't "distroless" images being widely distributed? It seems that "distroless" images are being built from a distribution, and then by removing some of the contents. So you must have a distro first, otherwise you can't have "distroless". That doesn't add up semantically.
- blackoil 2y agoWords can have different meaning than its etymological parents. If I seed Ubuntu it doesn't become blckoil distro. So the word distro means different from distribution.
- makeitdouble 2y agoThe issue is you could make and maintain a blckoil distro tomorrow that only keeps the bare minimum to run a go application. It would be bit for bit the same as the "distroless" version, except it will be a distro.
- solatic 2y agoThe "something that is distributed" is a package manager and package repositories. What makes a distribution is what choices it makes in letting you install software. A distroless image doesn't include a package manager. You cannot use anything in the provided distroless image to install software.
- jrm4 2y agoThat doesn't make it not a distro, that makes it a different kind of a distro. I'm not sure if we've had ones that absolutely had no package manager, but we've definitely had TONS for which the intent ISN'T installing extra/different software,e.g. a bunch of the specialized raspberry pi ones.
- solatic 2y agoDo you think Linux From Scratch https://www.linuxfromscratch.org/ https://www.linuxfromscratch.org/ is a distribution? That project is not a distribution, it helps you build your own distribution. The Linux kernel by itself, although the source and binaries are "distributed" to you (i.e. English-dictionary definition of distribution), is not a distribution.
- jrm4 2y agoThere is no essential difference that makes Linux From Scratch not a distribution. None. Some distros come with a lot of stuff. Some with very little. That it can be used to make another distro has NO BEARING on this. What would you call that thing if it's not a distro? What is that noun?
- kelnos 2y ago> A term can be both established and nonsensical Not at all. The establishment of a term, and giving it a definition that's widely agreed upon, by definition (heh) makes it not nonsensical. > "Distro" means "distribution", so "something that is distributed" No. In the Linux world a distribution means something much more restricted than that. It's a full system that can be installed, complete with a package manager, init system, etc. "Distroless" simply means it's a minimal set of software and libraries such that it can run a particular binary that you copy into it, but it doesn't act like a distribution. You can't install libraries and programs into the container using a package manager, for example, like you'd be able to if your container held a stock Debian install. > It seems that "distroless" images are being built from a distribution, and then by removing some of the contents. So you must have a distro first, otherwise you can't have "distroless". That doesn't add up semantically. I don't see where you're getting that conclusion from. If you take a distro, install it into a container, and then strip away everything that makes it a distro, then it is indeed distroless. How you got there is irrelevant. You could even build a distroless container without installing the distro into the container first. You could install the distro into a chroot (or into another container) and then selectively copy things out into the target container. Or if you were a masochist, I suppose you could even download source tarballs of everything you wanted in your distroless container, and manually build them on a host system and copy them into the container. Again, how you get to the final state is irrelevant. The idea is that the final state is runnable, but does not contain all the bits you'd expect to see in an installed distro.
- jrm4 2y agoI've seen nothing to indicate that your definition of "distro" is THAT restrictive. I'm confident saying a linux distro is anything with a linux kernel that you can slap on bare metal or a VM system and get something up and running. You're merely describing a minimalist/specialized distro, a not particularly new or unique concept.
- rpdillon 2y agoI mean in the beginning you'd be downloading the kernel code yourself and building a distribution with core utils. Distros came along and did all that work for you: they were a system that packaged up the kernel with a lot of useful utilities as well as an packaging and update mechanism. Of course you can find a way to be upset with the term if you want to, but I think it's in this sense that these container images are distroless.
- usrusr 2y agoThe term makes a lot of sense when you read it as having the package manager at it's core, which also happens to be the update mechanism. But in the container world, that would be an idle update mechanism and package management (as in selecting the subset of installed stuff) is also handled through image selection. But an image created from scratch by whoever would be considered end user in the container world would still contain the package manager of the distribution used to set up whatever is eventually imaged. With this as the baseline, distributionless is either an image that has this umbilical removed, or, as purists would probably prefer, an image where the package manager has never existed because everything was set up without involving one, or set up from the outside, without ever running anything "inside".
- makeitdouble 2y agoSo they could have called it "minimalist", "barebone", "stripped". I share parent's view that it's marketed with the most provocative term to attract attention, where an appropriate name wouldn't have stirred enough controversy to their taste ?
- iam-TJ 2y agoI'm quite surprised by this descriptive term also; in fact I've always (for years) called this type an "application container" since it only contains the files required by the primary process and doesn't have a standard init system (usually it is expected to handle PID 1 responsibilities in its primary executable or use a stub init (as when using e.g: systemd-nspawn --as-pid2 ... ). In contrast a "system container" has a regular init system and likely also package management (although that is optional) but was created using a package manager so the miscellaneous package-installed files are usually in there.
- hifromwork 2y agoThey could, but "distroless" is already an estabilished name, I think pioneered by Google[1]. As someone close to this field, I immediately know what "distroless" means in this context, and it's unclear what "minimalist" mean (does it mean it's based on Ubuntu Minimal? Alpine? Distroless?). [1]https://github.com/GoogleContainerTools/distroless https://github.com/GoogleContainerTools/distroless
- arccy 2y agothose terms have already been used in various distro installers for installations that contain very little, but still all the setup for you to expand it into a full blown distro with the package manager. The distroless images specifically don't give you a package manager, only specific packages needed for you to run.