Ranter
Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Comments
-
(Do take all that I say with a grain of salt, I don't particularly like docker and will always prefer to install software on the "bare" OS rather than containers, so I'm not *SUPER* versed in docker)
TL;DR: Portability, cross-distro compatibility, security
Main use is portability and compatibility across ALL distros. A Docker image will come with all the libraries of the versions that work well with the program and (the important part) in the paths and ways the application expects. It eliminates the "but it works on my machine" problems. If it works on the dev's "machine"(docker) it will work in any distro without any distro-compatibility issues. It's also somewhat useful because you don't have to systemwide i stall libraries and tools that you use inly for one program with docker, since everything is in the docker. -
Hazarth913423dIt's a container, It's job is separation from the system.
A) dockers set up their own environment with their own dependencies, so compatibility is ensure on all computers and in most cases architectures too
B) your own system doesn't get bloated, riddled with multiple competing dependencies, and you can remove the software by deleting the container
C) docker can set up and configure multiple systems (like server, database, ui) either in a single container or via composition, so you don't have to set up all these systems locally
The advantages are clear, it was never about space or anything, It's about neatly separated blocks (containers) -
A secondary(but not less important) use is the fact that's it's containerized. It makes it isolated and is a semi-security feature, if you run something in a docker and it gets compromised, it will only have access to what you explicitly give it access to.
-
jestdotty611323dto run old software without the person who made the software to have to update to newer operating system and library APIs
lazy compatibility layer that will explode into virus avenues one day I'm sure 😁 -
kamen677423d"It works on my machine." -> "Then we'll ship your machine."
Reproducibility. You basically ship an OS with all the dependencies of the project and run it on the go. Far more easier to manage than trying to deploy something directly on 10 different OSes. The only thing left to do is setting up how Docker itself talks to the host OS, but this is generally predictable and redoable. -
whimsical174323d@kamen haha, literally that sentence I've learnt recently about it and just wanted to post that. Did you also see it recently somewhere? Maybe we hang out at the same places.
-
whimsical174323dAlways use the yml files / compose else your container floats around somewhere. Use mounts, not volumes. Export ports to to [public]:127.0.0.1:[inteenal port] because docker doesn't care about your firewall rules and will just publish your port. Use reverse proxy.
But: I like the most if it that I keep my machine clean. Thanks to docker, I can move setups easily and am able to manage old setups. The yml files are almost docs.
My local system is a duplicate of server setup. In and outside docker. Very comfii. -
Lensflare2131422dWhile all of you did a great job of explaining what containerization is and what problems it solves, I had almost 0 contact with that and I feel like software that needs containers is poorly written ^^
I might be wrong -
wojtek322208922d@Lensflare It can also be a godsent. At my previous job, it took the average dev more than week to setup the full backend environment on their preferred OS. They introduced dockers and it got cut down to only 15min after multiple iterations.
In their defence, it was more complex than the usual CRUD application.
(But shortly after that, they decided to migrate big parts of the backend to AWS lambdas so the docker became useless imo) -
lorentz1516521dIt's a low overhead abstraction layer for OS environments. Designer intention notwithstanding, you use it like any abstraction layer.
Distribute software with less regard for distro nonsense
Limit the number of interacting factors during debugging
Standardize dev environments (possibility bring them closer to live environments too, although I would caution against that. The goals are starkly different.)
Run poorly designed software that has prerequisites you don't want to install systemwide or creates clutter
Monitor and inspect what passes through the interface
Simulate or mask over environmental constraints as presented to a whole userspace, not just one target -
Lensflare2131421d@lorentz
> Run poorly designed software that has prerequisites you don't want to install systemwide or creates clutter
This is what resonates with me the most and is the reason for why I feel about containerization that negatively.
It’s a solution to a problem that shouldn’t exist in the first place. -
lorentz1516521d@Lensflare it sucks indeed when you have to do that, but it's just one use-case, and it would be a lot worse without containers - think of what a typical Windows machine belonging to a creative poweruser with a diverse range of interests looks like. -
kamen677421d@whimsical It's an old joke, but "it's funny because it's true". I heard years ago for the first time.
-
D-4got10-01280420dApparently it's also a good choice for malware. https://thehackernews.com/2026/03/... .
Related Rants

Job interview
Oh, Elon.
What's the real use for Docker? a Docker image has the same weight as if you install the app normally (what you see no but the image in some other folder yes), that's not cool. what's its real use? you can later config it with yml files? access the Docker hub? I don't get it.
question
docker