News for hackers. Stuff that matters.
Re:How “It works in my machine” turns to “It works in my con... by hinkley on Wednesday July 26, 2023 @08:41PM (#36887262)
Containers aren't about you. They're about the person you're trying to hand things to.

I got stuck creating VMs for testers for a distributed workflow (several services, several tools), and keeping those VMs up to date and working was a PITA, but far less painful than dealing with them filing bug reports based on thinking they were doing X when they were doing Y.

I ended up creating a workflow that felt like layers, so when Docker came along I didn't need a salespitch. I could just do what I'd done with a script instead of a runbook. Where do I sign up?

Re:How “It works in my machine” turns to “It works in my con... by paulddraper on Wednesday July 26, 2023 @09:03PM (#36887484)
Exactly.

Containers are packaging for executables.

Re:How “It works in my machine” turns to “It works in my con... by transcriptase on Thursday July 27, 2023 @12:06AM (#36888776)
Another decade or two and perhaps the Unix community will finally reinvent the .exe or .app
Re:How “It works in my machine” turns to “It works in my con... by coderenegade on Thursday July 27, 2023 @12:28AM (#36888924)
It's more than just creating a distributable, though. It's also a dev fixed environment and a cross-compiler when paired with qemu, and a test suite all rolled into one. It's hugely powerful for how simple it is.
Re:How “It works in my machine” turns to “It works in my con... by paulddraper on Thursday July 27, 2023 @01:07AM (#36889153)
That's just.......wrong.

MacOS makes static linking quite difficult.

And Windows is infamous for "DLL Hell."

Re:How “It works in my machine” turns to “It works in my con... by pjmlp on Thursday July 27, 2023 @02:51AM (#36889884)
Windows 9X/2000/NT was long time ago, nowadays that it more a GNU/Linux problem than Windows one.
Re:How “It works in my machine” turns to “It works in my con... by nerdponx on Thursday July 27, 2023 @02:27AM (#36889699)
It's more like chroot, with a special namespace for processes.
Re:How “It works in my machine” turns to “It works in my con... by hughesjj on Thursday July 27, 2023 @02:34AM (#36889753)
They did, many times. they're called flatpaks/snaps/self executing zip files.

Even windows reinvented the exe with msi's, and python has dists and wheels, and *nix/bsd has jails and vms have existed forever, and java has the jvm with jars and previously, applets.

Of course, none of those are actually as user friendly nor cross platform compatible as docker. Heck even docker isn't perfect and will leak abstractions once you start hitting syscalls (network, filesystem, etc), or if you're like 99.9...% of developers who don't host their own artifactory and cryptographically tag every step in their dockerfile

Show me an .exe that can self deploy an elk stack across windows, Darwin, and Linux with minimal system environment issues

Re:How “It works in my machine” turns to “It works in my con... by KronisLV on Thursday July 27, 2023 @06:46AM (#36891668)
> They did, many times. they're called flatpaks/snaps/self executing zip files.

Honestly, getting some desktop software in the form of one of those is wonderfully refreshing. Just take an AppImage file or whatever, make it executable and run it.

Sometimes you don't care about the benefits of shared libraries and want something to just run regardless of what's going on with your distro, for which these technologies are great. Ideally, in addition to the proper package manager approach for those that value different things at different times.

But for shipping things like WebApps, OCI containers and Docker/Podman is amazing.

Re:How “It works in my machine” turns to “It works in my con... by hughesjj on Friday August 04, 2023 @07:09PM (#37007039)
I was a huge fan of portable apps back in the day. Plug in a usb stick, and boom, I could use firefox on my school computer instead of ie6
Re:How “It works in my machine” turns to “It works in my con... by paulryanrogers on Thursday July 27, 2023 @08:29AM (#36892438)
Containers are packaging for executables with their OS.

There is a long, bloody history of packaging executables with only their direct dependencies.

Re:How “It works in my machine” turns to “It works in my con... by salawat on Thursday July 27, 2023 @06:18AM (#36891429)
Guess what? That's what I do. Still seems more like an anti-pattern, because the "easier and more thoughtless" I make the entire process, the more my testers don't pay attention to those details, or figure out how to make new tooling, making me the central point of load bearing failure.

Docker doesn't fix that. In fact, sometimes it makes it even harder for my testers to keep track of what is happening where. A shockingly high number aren't even able to visualize the logical boundaries between physically cohabiting, but logically partitioned systems.

It's too many damned layers.

And developers do awful things with docker containers to the point I end up having to rip apart multiple projects Dockerfiles to rebuild those, but with different values to work around the fact that oh .. look at that, this one spins up a postgres database that wants to bind to ports we're already using. Looks like I get to go dig into the base image to change that port and rebuild...

Again, not saying it doesn't work. As someone who put in the work to become a generalist though, I put in an asinine amount of time working around other peoples things that quote "make things easier".

Maybe for the person writing it. Certainly not for someone learning from it or having to analyze it.