What has Docker become?

1 hour ago (tuananh.net)

One thing that really hurt them from my PoV was how they acted when they changed their licensing structure with respect to revenue generating companies. I’m fine with the idea that licensing Docker and Docker Desktop is a good thing to do. However, I think they just made people distrust their motives with their approached to this.

At two places I worked their reps reached out to essentially ensnare the company in a sort of “gotcha” scheme where if we were running the version of Docker Desktop after the commercial licensing requirement change, they sent a 30 day notice to license the product or they’d sue. Due to the usual “mid size software company not micromanaging the developers” standard, we had a few people on a new enough version that it would trigger the new license terms and we were in violation. They didn’t seem to do much outreach other than threatening us.

So in each case we switched to Rancher Desktop.

The licensing cost wasn’t that high, but it was hard to take them in good faith after their approach.

> Docker’s journey reads like a startup trying to find product-market fit, except Docker already had product-market fit

Strongly disagree. The core Docker technology was an excellent product and as the article says, had a massive impact on the industry. But they never found a market for that technology at any price point that wasn't ~free, so they didn't have PMF. That technology also only took off in the way it did because it was free and open source.

- well time to announce DockerVM, a super fast under 100ms boot time competitor to firecracker and gvisor and try selling this to some of the cloud providers out there

- take advantage of the current agentic wave and announce a Docker Sandbox runner product that lets you run agents inside cloud sandboxes

What I hate about docker and other such solutions is that I cannot install it as nonroot user, and that it keeps images between users in a database. I want to move things around using mv and cp, and not have another management layer that I need to be aware of and that can end up in an inconsistent state.

I used to be very enthusiastic about docker compose, but I've been playing around with nix + process-compose lately and its pretty great. I can have k3s and tilt in there only when it's necessary--which it's usually not.

  • Nix is wonderful for reproducible and declarative infrastructure, but how do you manage multiple server instances with it? I have a handful of projects active at any time, and am currently running four web servers, three mysql instances, two postgres, and a partridge in a pear tree. Should I run Nix in Docker, Docker from Nix, or is there a nix-only solution for this?

Sorry off topic question but has Docker come up with a easy to use dev solution. I always end up with using Devcontainer: it solves the sandboxed, ready to use dev env.

But the actual experience with developing on VSCode with Dev Containers is not great. It's laggy and slow.

  • Really? I work across multiple vscode projects (locally), some use dev-containers and others don't. I have never noticed any difference in experience across the two.

    I have also used them remotely (ssh and using tailscale) and noticed a little lag, but nothing really distracting.

    • Most likely a Windows or MacOS user, where docker runs in a linux VM. Optimized as much as possible and lightweight, but still a VM.

> Docker created a standard so successful that it became infrastructure, and infrastructure is hard to monetize

Open infrastructure is hard to monetize. Old school robotics players have a playbook for this. You may or may not agree DBs are infra but Oracle has done well by capitalistic standards.

The reality is in our economy exploitation is a basic requirement. Nothing says a company providing porcelain for Linux kernel capabilities has a right to exist. What has turned into OCI is great. Docker desktop lost on Mac to Orb stack and friends (but I guess they have caught back up?) the article does make it clear they have tried hard to find a place to leverage rent and it probably is making enough for a 10-100 person company to be very comfortable but 500-1000 seems very over grown at this point.

Really should not have given up on Swarm just to come back to it. Kubernetes is over kill for so many people using it for a convenient deployment story.

  • Imo the problem with SaaS products is that their revenue expectations are priced accordingly to the market they serve, not the money it takes recreating them.

    If I wrote the best word processor in the world, I could probably sell it for a decent money to quite a few people.

    However if I expressed my revenue expectations as a percentage of revenue from the world's bestselling novels, I would be very quickly disappointed.

  • The "Fair Source" [1] and "Fair Code" [2] licenses are sustainable and user-friendly.

    Imagine if Docker the company could charge AWS and Google for their use of their technology.

    Imagine if Redis, Elastic, and so many other technologies could.

    Modern database companies will typically dual license their work so they don't have their lunch eaten. I've done it for some of my own work [3].

    You want your customers to have freedom, but you don't want massive companies coming in and ripping you off. You'd also like to provide a "easy path" for payments that sustain the engineering, but not require your users to be bound to you.

    "OSI-approved" Open Source is an industry co-opt of labor. Amazon and Google benefit immensely with an ecosystem of things they can offer, but they in turn give you zero of the AWS/GCP code base.

    Hyperscalers are miles of crust around an open source interior. They charge and make millions off of the free labor of open source.

    I think we need a new type of license that requires that the companies using the license must make their entire operational codebases available.

    [1] https://fair.io/licenses/

    [2] https://faircode.io/

    [3] https://github.com/storytold/artcraft/blob/main/LICENSE.md

    • > Imagine if Docker the company could charge AWS and Google for their use of their technology.

      An "issue" is that Docker these days mostly builds on open standards and has well documented APIs. Open infrastructure like this has only limited vendor lock-in.

      Building a docker daemon compatible service is not trivial but was already mostly done with podman. It is compatible to the extent that the official docker cli mostly works with it oob (having implemented the basic Docker HTTP API endpoints too). AWS/GCP could almost certainly afford to build a "podman" too, instead of licensing Docked.

      This is not meant to defend the hyperscalers themselves but should maybe out approaches like this in perspective. Docker got among other things large because it was free, monetizing after that is hard (see also Elasticsearch/Redis and the immediate forks).

    • > Imagine if Docker the company could charge AWS and Google for their use of their technology.

      I can't imagine. Tell me one software project used in AWS/GCP that Amazon/Google pay for. Not donations (like for Linux), but PAID for.

      Docker started as a wrapper over LXC, Amazon has enough developers to implement that in a month.

  For a while, Docker seemed to focus on developer experience.

ahh yes, docker desktop, where the error messages are "something went wrong", and the primary debugging step is to wipe it, uninstall, and reinstall.

  • It is honestly incredible that such an important part of the Windows dev process is nearly unusable. It is easily the most fickle and opaque bit of software that I am required to depend upon.

    • Yep. I used to have a ton of problems with Docker in Windows.

      It has been a year without problems since I enabled WSL2 engine for Docker.

      Honestly they should make the WSL2 Docker engine mandatory because otherwise things barely work.

      2 replies →

They enshittified/Dropboxified their core Docker Desktop app so much that OrbStack — I believe a single person initially — managed to build a better product. I love this outcome.

Honestly I reach for podman or `nix develop` any chance I get. What is the edge that docker provides these days?

  •     What is the edge that docker provides these days?
    

    Enterprise support and Docker Desktop makes it nearly seamless to get set up using containers. I've tried Rancher/podman/buildah and the experience introduced too much friction for me without being on a Linux system.

  • > What is the edge that docker provides these days?

    That you are not the average developer

    • Not very clear what you mean... well you haven't actually given them an answer to their question.

      Are you suggesting that docker provides an (unspecified) edge to developers who are better than average? Or to those who are mediocre? Or...

      1 reply →

Who wants to pay for chroot?

  • Ah - the old magic.

    There is a lot more than a simple chroot to Docker though - with FreeBSD Jails being a stepping stone along the way. It's real innovation and why it won over alternatives was the tooling and infrastructure around the containers - particularly distributing them.

I was a contractor code money at a place automating $3M/yr in labor. We reported to a senior that did little programming if at all. He was older than me but newer than myself to the company, I was happy to avoid meetings and code.

He'd always try to get us into various technologies, Docker was one of them. It wasn't really relevant for the job, but I could see its uses.

Now that I think about it, I don't think anything they did on the tech discovery front was useful. Got stuck on Confulence which required us to save as a .pdf for our users to view lmao. Credit for being super smart with coding, he was a wiz on code reviews.