home | list info | list archive | date index | thread index

Re: Follow up on last night's discussion on docker

Hi Tug,

With all the support I have to the UNIX way where each simple program does
it's own job and the interfaces with them are simple and well defined, let
me outline my thought about docker.

Yes, docker is one of, alas, many things that take Linux users away from the
UNIX philosophy, along with systemd, ummutable distributions, Gnome, KDE,
name others.

With all this, here are the places docker can be handy to find the way
around.

1. Software that depends on certain versions of others and this whole mess
is a hell to configure and put together. Unfortunately, you want for all
kinds of reasons. I think of OpenGrok. I tried to set it once, then switched 
to docker where others have already did this job.

2. Same kind, but outdated. A piece of s..oftware with no sources and
several dependencies that you still need for some reason.

3. Something huge that you want latest-and-greatest, but your distribution
is not the latest and you have no time/machine power to build it from
sources and fix the dependencies. I have GIMP for this.

4. Something, again, complex, weird that you may consider to try once and
may be keep for a while or better replace with something more handy. A good
example could be a web interface to meshtastic nodes. Why the web interface?
What it does? Do you really need it? You do not have an answer, you want to
try it, but configuring it takes a couple hours, so you do not bother, take
a docker image, use it and meanwhile think of alternatives to it.

5. Last but not least. Windoze games. These nice things require special
libraries, special version of Windows, no sources. In this case, it is not
docker, it is Proton, but idea is very close.

As a summary. Docker helps to work around the fact that you want to make a
really terrible software to work for you. Just a tool to make life easier.

Putting commercial usecases aside, do I want to use it? No. I prefer
software that is simple and quick to build, package and maintain. Do I use
it? I do in the cases when the software is huge, badly designed, badly
maintained, but there is no around something better.

Just my thoughts,

-- 
Dmitriy
On Fri, Oct 03, 2025 at 10:57:56AM -0400, Tug Williams via linux wrote:
> I have mulled... Needless to say, I still prefer the idea of Gentoo (with a
> full system wide understanding, and modelling of dependencies), to building
> individual apps linked with their own custom set of shared libraries,
> delivering them as a stand aloneish, unintegrated, package, floating on top
> of an OS (presumably defined as whatever is 'generic enough' to be reliably
> shared).
> 
> I also get that for someone who cannot afford downtime for failed OS
> upgrades, or needs a certain app, refusing to use something with
> incompatible dependencies isn't a solution.
> 
> In Gentoo, we have slots, whereby you can have multiple instances of various
> packages installed.
> 
> For example, Gentoo supports 9 different slots for python, with 17 specific
> versions (in various states of stability / supportedness).
> 
> slot in (), followed by list of options to populate each slot.
> 
> [I] dev-lang/python
>  Available versions:
>  (2.7) 2.7.18_p16-r2^t
>  (3.8) 3.8.20_p7-r1^t
>  (3.9) 3.9.23_p2^t **3.9.9999*l^t
>  (3.10) 3.10.18_p2^t **3.10.9999*l^t
>  (3.11) 3.11.13_p1^t **3.11.9999*l^t
>  (3.12) 3.12.11_p1^t{xpak} **3.12.9999*l^t
>  (3.13) 3.13.5_p1^t{xpak} ~3.13.7^t **3.13.9999*l^t
>  (3.14) ~3.14.0_rc2^t ~3.14.0_rc3^t **3.14.9999*l^t
>  (3.15) **3.15.9999*l^t
> 
> My system requires 2 versions of python (one each for slots 3.12 and 3.13)
> to support all the applications installed on my system.
> 
>  Installed versions:
>    3.12.11_p1(3.12)
>    3.13.5_p1(3.13)
> 
> I could list all the applications that depend on each version, but I fear
> this email is already looking like a stream of corrupted data, so I shan't.
> 
> Not all packages can be slotted. Boost, for example, only ever has 1 slot,
> because, for technical reasons, it became too hard to support more than one
> version.
> 
> This means that if packages are not updated by "the open source community",
> packages end up being dropped. This is made more difficult as fashionable
> dependencies become more "functionally dynamic" and seem to ignore the
> benefits of backwards compatibility. Why port an app from python2 to
> python3, if you can just sling it in a container? A replacement won't
> evolve, as everyone is using the python2 version.
> 
> So, is it fair to say that the need for docker / containers, is because the
> dependency problem in Linux is insurmountable? Are containers are just a
> temporary solution - dare I say, a tourniquet - that will lead to the demise
> of Linux as a coherent collection of independent projects?
> 
> Tug
> 
> 
> To unsubscribe send a blank message to linux+unsubscribe [ at ] linux-ottawa [ dot ] org
> To get help send a blank message to linux+help [ at ] linux-ottawa [ dot ] org
> To visit the archives: https://lists.linux-ottawa.org
> 

To unsubscribe send a blank message to linux+unsubscribe [ at ] linux-ottawa [ dot ] org
To get help send a blank message to linux+help [ at ] linux-ottawa [ dot ] org
To visit the archives: https://lists.linux-ottawa.org