News for hackers. Stuff that matters.
Re:Launch Your App: Why We Don’t Use Docker (We Don’t Need It) by imiric on Sunday April 25, 2021 @03:48PM (#26935986)
> But we have software we need to ship in order to get users in order to drive subscriptions. Anything that doesn’t directly serve that goal is a complication.

I think you're only seeing Docker as a packaging format and missing the distribution aspect. There's a lot of value in telling users "My app is accessible with a single `docker run` command", that doesn't involve them downloading a standalone binary manually, placing it in their PATH, etc., and also works across platforms and operating systems. Or worse, having to setup the Go toolchain and compile it themselves, no matter how easy it is for a developer (and ignoring what can go wrong with Go modules).

Of course, then you open yourself up to all sorts of support questions related to Docker, but I still think it's a missed opportunity to not use it to make your software as widely and most easily accessible as possible.

Re:Launch Your App: Why We Don’t Use Docker (We Don’t Need It) by nicoburns on Sunday April 25, 2021 @03:59PM (#26936069)
> and also works across platforms and operating systems

As a mac user, I'm not sure I agree with this. Docker does technically work cross platform of course. But it's slow everywhere except for linux. I'd much rather have binary (or even better a `brew install`) than a docker image.

Re:Launch Your App: Why We Don’t Use Docker (We Don’t Need It) by DanHulton on Sunday April 25, 2021 @04:18PM (#26936270)
It's a lot faster if you don't rely on the default volume mounting: https://nodewood.com/blog/how-to-speed-up-docker-on-macos/

Still not as fast as on Linux, but within 10% of running it natively for me.

Re:Launch Your App: Why We Don’t Use Docker (We Don’t Need It) by jojohohanon on Sunday April 25, 2021 @05:56PM (#26937086)
SO the argument here is that it's the storage layer that slows things down? I deduce this since the linked article is about installing a new storage driver to sync to external volumes.

What about server workloads where the storage is completely inside the container / on a different server?

Re:Launch Your App: Why We Don’t Use Docker (We Don’t Need It) by DanHulton on Sunday April 25, 2021 @07:29PM (#26937729)
It's less the storage layer and more the volume mount on OSX - the default is very reliable, but at the cost of a LOT of speed. Mutagen offers varying levels of reliability, and occasionally I have to restart the sync (like maybe once a week), but it's _much_ faster.

The circumstances you're describing sound like it wouldn't be suffering this specific issue in the first place, so I'm not sure how much it'd help.

Re:Launch Your App: Why We Don’t Use Docker (We Don’t Need It) by m463 on Sunday April 25, 2021 @05:31PM (#26936880)
A lot of people don't realize docker on macos runs in a vm.

It would be much nicer if apple coexisted instead of apple-language, apple-frameworks, apple-laserlike-navel-focus. Do community interaction, not just over-the-wall to opensource.apple.com

a native apple docker would be great. Imagine:

  FROM macos:10.13.2
  RUN xcode-build ....
Re:Launch Your App: Why We Don’t Use Docker (We Don’t Need It) by oblio on Sunday April 25, 2021 @05:33PM (#26936895)
Apple will never commoditize its own stuff.

They're perfectly willing to ruin the lives of countless devs / CI/CD devs, who have to support their crappy platforms, because you can't virtualize MacOS (only AWS can, and even then, it can only be rented in 24h increments at super high prices).

Apple controls the end users, their end users have money so devs just have to come crawling to be able to make and sell their apps.

Re:Launch Your App: Why We Don’t Use Docker (We Don’t Need It) by theThreeTuples on Sunday April 25, 2021 @05:43PM (#26936979)
I’ve used Anka for running macos VMs with good success. So much so that we replaced all our bare metal workloads with portable and repeatable environments. The trade offs are performance related and bugs with the VM tech but those are less costly than managing the bare metal.
Re:Launch Your App: Why We Don’t Use Docker (We Don’t Need It) by imiric on Sunday April 25, 2021 @04:15PM (#26936239)
That's true, unfortunately, volumes are especially problematic. Though I think it's gotten better over the years, and performance should be acceptable for most workflows.

I'm not saying it should be the _only_ distribution option, and standalone binaries and other packages should be provided as well, but there's no reason for Docker to not be one of them.

Re:Launch Your App: Why We Don’t Use Docker (We Don’t Need It) by ondrek on Sunday April 25, 2021 @05:24PM (#26936825)
Also, I guess, it's needless to say, most of people don't have Docker already installed (unless your target audience is a dev-ops community). So it's not just "docker run".
Re:Launch Your App: Why We Don’t Use Docker (We Don’t Need It) by j0ba on Sunday April 25, 2021 @04:04PM (#26936127)
Lol no. Docker is only slow on Mac. It works great on all other platforms.
Re:Launch Your App: Why We Don’t Use Docker (We Don’t Need It) by carlmr on Sunday April 25, 2021 @04:13PM (#26936226)
It was slow on Windows to run Linux images the last time I tried. I think they now use WSL2 making it faster, but I haven't used it since.
Re:Launch Your App: Why We Don’t Use Docker (We Don’t Need It) by loopz on Sunday April 25, 2021 @07:07PM (#26937574)
It's not just slow on Windows, but BSOD shutdowns/reboots as well.
Re:Launch Your App: Why We Don’t Use Docker (We Don’t Need It) by oblio on Sunday April 25, 2021 @05:30PM (#26936877)
> and also works across platforms and operating systems

That's the greatest lie that Docker managed to convince people of.

Docker is not portable, its images are not portable. It runs on Linux and that's it. It doesn't even run on other *NIXen.

Docker on Mac runs inside a VM. Docker on Windows runs inside a VM. Technically Docker for Windows supports Windows containers. But they only run on... Windows.

Docker is as portable as any software I can get my hands on and that I can run inside a VM. So almost all the desktop software I know of.

Docker just managed to package its software in a nicer way so that many people don't even realize that there's a VM behind the scenes (most usually notice because Docker is slower/much slower on non-Linux platforms).

Re:Launch Your App: Why We Don’t Use Docker (We Don’t Need It) by threeseed on Sunday April 25, 2021 @06:23PM (#26937293)
I don't care if it runs in a VM or not. That's just an implementation detail.

What matters is whether my app and the myriad of dependencies it relies on can be run easily and consistently.

Re:Launch Your App: Why We Don’t Use Docker (We Don’t Need It) by nine_k on Sunday April 25, 2021 @06:19PM (#26937265)
Docker for Windows is a thing, and it does run Windows binaries natively.

So you can publish for two platforms.

Java is still a good way to have bulletproof cross-platform experience, but JRE is sort of large. JDK 10 or 11, IIRC, allows to package your code, only the needed parts of stdlib, and the VM into a reasonably lean self-contained executable.

Re:Launch Your App: Why We Don’t Use Docker (We Don’t Need It) by nicoburns on Sunday April 25, 2021 @06:23PM (#26937290)
Rust/Go are much better at than Java. You do need a separate binary for each platform which makes it slightly more of a pain for the maintainer to setup CI, but it's much more convenient for the end user.
Re:Launch Your App: Why We Don’t Use Docker (We Don’t Need It) by matsemann on Sunday April 25, 2021 @03:58PM (#26936062)
Good point for services being installed. Especially when I'm just testing something I don't want to see a full page on how to get it up and running, or even care about the underlying tech. Just give me a docker oneliner. Doesn't have to be the standard way of distributing the app, but at least make a simple image for local testing / development.

Tested RabbitMQ this weekend, and the getting started was soo easy.

Re:Launch Your App: Why We Don’t Use Docker (We Don’t Need It) by user3939382 on Sunday April 25, 2021 @04:57PM (#26936605)
Some context to my comment, last time I was doing app distribution I used the contemporary best practice which was SVN. I’ve read a dozen articles on the theory of Docker vs VM but still don’t get it. Apparently it saves resources by not replicating the whole OS. Do everyone’s apps really not rely on the specific kernel at all? Even in i.e. PHP apps I usually have binaries tied in that are compiled for the kernel I’ve developed on.

Containers are peripheral to my work so I don’t understand but I’m curious.

Re:Launch Your App: Why We Don’t Use Docker (We Don’t Need It) by chub500 on Sunday April 25, 2021 @05:31PM (#26936886)
Docker takes advantage of various linux sandboxing features. On a linux bare metal host it's just a combination of namespaces and resource constraints (cgroups) whereas on other platforms it will have to be the above within a bonafide VM running a linux kernel. The general rule is that linux maintains backward compatability even in ABI so as long as the host kernel is the same or newer than the image requirements it should just work. Things wont work for example if your image requires iouring (a brand new syscall interface) but your host OS is running 4.x (doesn't map iouring syscalls to anything).
Re:Launch Your App: Why We Don’t Use Docker (We Don’t Need It) by VWWHFSfQ on Sunday April 25, 2021 @05:20PM (#26936791)
what kind of php app are you running that requires to be linked against a specific linux kernel
Re:Launch Your App: Why We Don’t Use Docker (We Don’t Need It) by user3939382 on Sunday April 25, 2021 @05:31PM (#26936882)
Let's say I integrate with a CLI utility, which comes up. Docker wouldn't work? If the answer is no I think I'd say I understand the theory better. Unless docker is providing some kind of universal kernel API or something?
Re:Launch Your App: Why We Don’t Use Docker (We Don’t Need It) by dbaggerman on Sunday April 25, 2021 @06:25PM (#26937303)
In that case you would bundle a copy of the CLI utility into your docker container, with the correct version. This also applies to any system libraries your code might be compiled against. Things like shared libraries or CLI utilities are part of the "operating system", but not part of the "kernel".

This does mean that you end up with multiple copies of the same utilities and libraries on the system - although docker does have a mechanism to avoid duplication between different docker containers. It also means that if you take your docker container and move it over to a different system with a newer operating system (or a different distribution) all the parts of the operating system it cares about come with it.

The Linux kernel - the part that gets shared between containers - is mostly just responsible for process and memory management, networking and interacting with the computer hardware.

Re:Launch Your App: Why We Don’t Use Docker (We Don’t Need It) by one2three4 on Sunday April 25, 2021 @04:34PM (#26936418)
What makes you assume that all people have or even want docker runtime in their machines? Not to mention all the security headaches it brings with it.
Re:Launch Your App: Why We Don’t Use Docker (We Don’t Need It) by imiric on Sunday April 25, 2021 @05:10PM (#26936726)
The OCI image format is an established standard and registries are supported across tools. Publishing an image on Docker Hub also makes it available to tools like Podman that don't require a runtime and can run rootless containers. You're also free to download, extract the image and run the binaries however you wish, even outside a container.

Docker is a packaging format with a distribution platform and a common execution interface. I see offering it as an option to users only as a net positive. Not to mention that it opens the orchestration door making the application easy to integrate into CI pipelines and complex workflows.

Re:Launch Your App: Why We Don’t Use Docker (We Don’t Need It) by jjnoakes on Sunday April 25, 2021 @05:22PM (#26936806)
As a user I much prefer a single binary to a docker image.
Re:Launch Your App: Why We Don’t Use Docker (We Don’t Need It) by dehrmann on Sunday April 25, 2021 @05:51PM (#26937043)
Considering they use Go, they get this out of the box. Half the motivation for Docker isn't there if you're using Go.