I remember everyone had written Docker off for dead when they announced their updated pricing plans, but they really made perfect sense, and I am happy to see the company recover. A large chunk of the tech world today relies on their products, but they were making next to nothing for it. It is definitely worth it for large companies to throw a few dollars their way considering the massive amount of value they are getting out of it. Whereas my company had no use for their earlier product offerings (private Docker Hub repos, Docker Swarm) we gladly paid money for Docker Desktop without even thinking about it.
I suspect the initial negative take on the license change was correct, and this is the dying gasp of the company.
It's just taking longer than expected to replace Docker Desktop. But I am seeing a lot of progress on Podman and Rancher and a few others, and some of the larger tech companies are also building in-house replacements. A lot of the people who had to scramble to find a replacement are not happy about it.
In a year or two I think some of the companies that paid for licenses to avoid migrating are going to rethink their license costs, because the free alternatives will be just as good as Docker Desktop. Then we will see whether this revenue increase was sustainable or simply the transient result of holding customers hostage when they had no alternatives but to pay.
What gets me about this is the math doesn't make any sense.
Docker charges $10/developer/month. Those developers are paid $150k+/yr, fully loaded to the company (insurance, taxes, accounting, etc) is probably double that, but call it $250k/yr to be nice. You take 3 developers and have them spend a quarter on replacing Docker Desktop, that's nearly $200k in developer costs spent replacing a tool that's gonna cost your 250 person company $30k/year.
Docker wants you to pay $10/mo to make your $20k/mo developer more effective, and companies in our industry would rather spend several months of developer time building an alternative that they'll have to support forever and teach every new individual coming into the company how to use.
For a group that seems to pride itself on math and logic and whatever, I don't understand what the hell we're thinking most of the time.
This article from 2013 might give an indication on why some people choose FOSS even when they can afford the non-FOSS solutions:
The licensing. My God, the licensing. It's not so much the money, as the infernal, mind-bending tax code level complexity involved in making sure all your software is properly licensed: determining what 'level' and 'edition' you are licensed at, who is licensed to use what, which servers are licensed... wait, what? Sorry, I passed out there for a minute when I was attacked by rabid licensing weasels.
I'm not inclined to make grand pronouncements about the future of software, but if anything kills off commercial software, let me tell you, it won't be open source software. They needn't bother. Commercial software will gleefully strangle itself to death on its own licensing terms.
Agreed. This effects everyone, event At a simple user level. We have access to Adobe Creative Cloud at uni. Every time I walk into a new classroom, I need to go through the creative cloud academicc licence dance. Sign in, sign out, sign in again, Singh out again la la la.
Note that the Cloud resolves licensing in that you can’t consume resources you’re not licensed for (although “uncapped cloud” lets you consume resources that you don’t know are paying for).
I think you are overestimating how much most developers world wide are payed. Something like $150k+/yr might be something you can get in silicon valley but outside of the US this level of payment is reserved to a small number of senior developer.
Through that doesn't really change your arguments point.
Through I also would argue that while some companies are tightly coupled to docker desktop many others are not (and can easily migrate) or need to migrate to other tooling for other non-payment reasons.
If you only need containers (e.g. docker cli) but not docker desktop podman is already a drop in replacement in many case, one which in certain aspects is even much better to boost(*1).
(1): Through that is only on Linux and it's not a clear cut "this is better" but more a "subtle differences can make it much better but also worse depending on what you do/are looking for".
> If you only need containers (e.g. docker cli) but not docker desktop podman is already a drop in replacement in many case, one which in certain aspects is even much better to boost(*1).
> (1): Through that is only on Linux
If you only need Docker CLI on Linux, the open source version of Docker works fine, so you don’t need any alternative to the proprietary licensed Docker
The problem I saw firsthand in moving off Docker Desktop for Mac, is (last I checked) nothing else had as seamless networking and filesystem integration on Mac as Docker Desktop does. Funnily enough the Docker Desktop networking stuff is open source (VPNKit), but at the time nobody else seemed to have integrated it with the open source bits of Docker in a way which just worked.
With Docker Desktop for Mac, our Gradle scripts which created Docker containers on the Linux CI infrastructure worked unchanged on macOS. We tried moving to minikube or podman and with both we lost that
> you are overestimating how much most developers world wide are payed. Something like $150k+/yr might be something you can get in silicon valley but o
True.
Also these $150k+/yr devs are the ones that eventually roll out the next opensource docker replacement...
For my company which went from its internal hand rolled ticketing system to Jira, Azure, etc. the big issue is that our hand rolled system, even though it had limited features, was significantly more suited to our needs.
It was much faster, had the exact fields we needed, and the exact workflow we wanted. It provided email alerts using the rules thst made sense for us and did I mention it was ridiculously faster?
We went from a single developer probably spending a few weeks in a year to maintain/augment a ticketing system that worked really great for us, to paying hundreds of thousands for something that doesn’t work well at all.
Problem with this is false advertising. Often, you buy a tool because its website says can do A and B, and do does the sales rep. Then you deploy it and realize it really only does C, and if you squint at it hard enough you can kinda see A and B if you pay extra and spend months customizing it. Growth at all costs mindset makes companies lie do they don’t lose a single lead, then try to lock/beat them into submission and pretend this was always the agreement.
Sure. You take the two ladies who built and maintain your homegrown system and you run them through 6 months of training on Actions and Pipelines and Agents along with two other employees, then give them a Director and an official dept like "DevOps". Now you're ready for a new workflow. See all the hassle and money you've saved?
> that's nearly $200k in developer costs spent replacing a tool that's gonna cost your 250 person company $30k/year.
the 250 person companies are not building the replacement, the 2k+ ones will. And likely ones that fit their internal architecture better so there are productivity gains to be had on top of that
If you do the same math for a company with thousands, or tens of thousands, of developers, the answer looks different.
Large companies already have dedicated teams for stuff that is a lot less critical than the container runtime.
The companies that are too big to avoid paying, but too small to build a replacement, are the ones that are in a jam -- for now. But in a year or two, Podman or Rancher might might fully meet their needs. What should they do then? Continue to pay for Docker, or use a free and open source alternative that has feature parity?
$250k/yr/developer, so for 1 quarter, that's $62.5k, 3 developers for one quarter is $187.5k. Docker costs $10/mo, or $120/yr, so for 1000 developers, that's $120k/yr, or a payoff time of 1.5 years, assuming nobody ever has to touch anything ever again. Let's say our solution requires 1 developer-quarter per year to maintain - bugfixes, upgrades, deployments, etc. That's $62.5k/yr. That pushes our payoff time out to 2.5 years.
Let's say our solution causes a net decrease in developer productivity of 1% (our solution has a bug that means things are slow for a day, developers can't google for easy answers, developers have to port things into our system) - that's a minute of extra work for every ~2hrs. That's 1000*250k*.01, or a net drain to the company of $2.5M/yr, which effectively pushes our payback time out to "never".
Hell, we can even work the math the other way - for replacing Docker Desktop to be worthwhile, it's gotta cost less than $120/yr/developer. Developers cost $250k/yr, for call it 250 days of work per year, so $1000/day, or $125/hr, which means if the aggregate cost of our replacement to an individual user is even an hour per year, it wouldn't be worth doing for free. Add in the cost of actually having someone actually maintain our replacement product, and the math's even shittier.
A big mistake with this math is that globally developers are not paid anywhere close to 250k/yr even fully loaded for the company. In my country in Europe it's closer to 60k/yr fully loaded. There is cheaper. Also most companies aren't gonna build something from scratch, they are going to use something else that is also available. That being said this type of exercise is good to show because many managers do not do it.
Remember that Europe is quite large and not homogeneous. For sure wages are lower and less different between blue collar and white collar jobs, which is both good and bad.
We don’t know where the gp is posting from; btw in places like London or Berlin a dev can make 2x that figure.
On the other hand they do get free health care, free uni (if in the right country), a social safety net that you can actually live decently on and other services.
> Let's say our solution causes a net decrease in developer productivity of 1%
This is an extremely aggressive assumption, and affects the entire equation. What happens when you achieve parity in 1 month, because actually, docker isn't that important? nerdctl + containerd basically eliminate my need for docker in a work context. nerdctl only for my local development.
Tech companies with XX thousand employees already have dedicated infrastructure teams of all sorts. This math doesn't feel like it reflects reality of the marginal costs and payoff time.
The marginal costs of dedicated infrastructure teams is the legion of tickets that product teams want fixed first. The signup team hates that signups take seconds to process instead of milliseconds so there's desire to rebuild the batch job runner, the identity teams want you to make a richer capability-based authz system so that they can sell capabilities as a customer facing product, etc. These infra teams need to justify rebuilding infra like Docker against the marginal opportunities of creating new things for product teams.
I've had more productivity loss than that from docker's bugs and CPU/battery drain. We don't use docker in prod so why use it for dev? I need a container not this power hungry daemon and annoying UI.
As I type this my laptop is hot because docker needs to be reset and restarted.
This is what drove me away from docker in the first place - only to find there’s little alternative today. Honestly, the poor reliability of docker on any platform, for so many years, has tainted it in my mind and I will change in a heartbeat if something better comes along.
Interesting... My experience has been pretty much exactly the opposite, Docker just works flawlessly and it's the alternatives like podman and systemd that's caused me headaches and countless hours of wasted time.
I gave podman weeks of effort trying to get its “killer feature” to work properly (rootless containers). I couldn’t even justify the time for a hobby project. Instead, I just installed Docker and went on my way.
IMO they need to improve documentation and drop the facade that it’s 1:1 Docker.
Yep, I also spent a huge amount of time trying to get podman rootless containers working. It felt like what fusion progresses looks like, forever “just around the corner”, so I also decided to just stick with docker.
I did hit some kind of networking bug on a Linux server recently (in the past 2 weeks) which required a restart of the Docker daemon, and that is my classic personal experience. We went all-in on Docker Swarm several years ago, and we ended up having to do full server reboots on what seemed like a weekly basis. And I know I'm not alone in having loads of problems on MacOS - although I must admit it seems to have been a lot better recently.
That's strange, my developers run docker on quite old laptops and they are doing fine. Not mac's though, we running Manjaro Linux and no impact in performance.
But we uses docker engine, not desktop.
I had seen docker desktop runs in Qemu VM on non-linux os. That might be the problem and defeating the purpose of using containers at all.
One of the reasons I use Docker regardless of deployment is to verify it works on a machine that is not mine. Running it in Docker is a quick litmus test I have all made all the dependencies explicit. Also, a Dockerfile is potentially machine interpretable documentation on what you need to do to run the application. All of this has value before you even deploy anything.
There is not just cost to count. There is also value in having a custom solution that is well integrated into your other tools, and value in avoiding vendor lock-in. Large companies build a lot of their own internal tooling for those reasons.
Let's say there was no open source replacement (that's not true, or at least it's not going to be true when Podman and Rancher improve, but for the sake of argument...)
What would prevent Docker from doubling the subscription right now? Tripling it?
Assume 250k/employee ctc that’s $250M. Assume revenue is 2x labor cost and that’s 500M earnings. Typical revenue multiple nowadays is like 5, unless very high growth, so $2.5B valuation. Not exactly big but unicorn at least.
More users = greater need for dedicated support. A company that has tens of thousands of developers will need an entire team staffed up just to answer questions and troubleshoot issues with their homegrown Docker replacement, and the end result will be that the team gets laid off and the company just buys licenses because that is far cheaper.
It’s a bit different. The business pricing is 24 dollars a month, so with 150 employees you’re looking at 270,000 dollars a year for a MacOS desktop application.
Nobody seriously cares about docker hub. Nobody cares about the SSO, or the access management, or SCIM. Nobody uses anything but the app that makes it simple to run stuff in MacOS. That’s not worth 270k a year.
The math doesn't make sense, and that's why Docker is both successful now, and why the parent comment to yours is flawed.
Always bear in mind that when "the Internet" complains about some minor price issue, it's usually individuals who are responding.
Individuals tend to have limited cash, and all decisions are cash. They are time rich and cash poor. They run Linux on the desktop over Windows to "save money". [1]
Most companies though are cash rich and time poor. If they can outsource a task for small money then they will. Yes, there's a place where the outsource cost is too high, but that's really high. They run windows on the desktop because that saves time. They'll continue to use docker because switching costs a lot of time.
So Docker will do just fine. Companies are more than happy to spend money. See AWS as exhibit A.
[1] there are many reasons to use a Linux desktop, saving money is the least interesting.
Its not devs buying these tools in a company context, and devs are not on universally high salaries.
I made the point before that these little costs rack up quickly, I can speak to my costs:
Gitlab: 19/m
Docker: 24/m
Slack: 12.5/m
Copilot: 19/m
Office: 12.5/m
Tailscale: 15/m
oslash: 6/mo
pagerduty: 41/m
Jira/Confluence: 26.25/m
Calendly: 16/m
Bonusly: 4.5/m
Snyk: 98/m
Figma: 42/m
Lens: 20/m
Postman: 29/m
Sourcegraph: 99/m
Jetbrains: 1xIDE: 23/m
or:
Jetbrains: All: 78/m
This is obviously a non-exhaustive list, and isn’t the highest subscription tiers; its the first ones offering SSO, or that permit a mid-sized group.
That doesnt take into account other specialised tools like Perforce (huge cost) or Teletrik: $1,299/y
This also doesn't take into account that you sometimes need to buy seats in batches of 5, or if you have an overlap of people for even a day that then you must buy a license for the whole period.
So there can easily be overages.
So, $490~ is the minimum per seat cost in my org, (there are other licenses that I cant think about right now, including docusign for example, and it doesn't include perforce).
That already represents about 19% of a monthly take home salary for the median developer in Sweden.
You either need these tools to make engineers, sales and other people to provide value and generate revenue, or you don't.
> That already represents about 19% of a monthly take home salary for the median developer in Sweden.
Firstly, what's take home salary has anything to do with this? Are Swedish developers paying for these tools out of their pocket? These are business expenses. It's disingenuous to use that number.
Secondly, so what? How much do you think it costs for a pilot to fly a plane? The software they need? The hardware they need? While developer needs a $1,000 MacBook and a few optional double digit monthly expenses to generate insane value.
Again, this list is exactly why I don’t want to sell to developers. Because from business point of view these are such minuscule $20 p/m expenses for the value they provide, especially for one of the most highest paying employees these days. And if you think they don't provide enough value, you just cancel the subscription.
It's the cost of making business. And compared to other industries, we in tech are spoiled and we have it very easy.
> what's take home salary has anything to do with this?
you are moving the goalposts. You say that devs are overpaid, therefor time saved need only be a few hours to make back the money. I assert that this isn't universally true (that devs are paid well) and that it must apply to all developers (and everyone developer adjacent)
> $1,000 macbook
Nobody is using a $1k computer in the west. Not sure what that is meant to signify either.
> It's the cost of making business.
If you were a hairdresser and you had to pay a new license for every person who touched the chair, then you would have a parable. As it stands we have a lot of per-seat licensing and an SSO tax designed to get the most money from business customers, the result is that a lot of businesses (where dev costs are lower) simply cant (or wont) pay for every little tiny tool- even if it was priced in a reasonable way, because handling the purchasing and buying the license for the seats you need becomes a full time job.
Very often the point is that you have to buy seats for everyone (including non-technical employees) on the same plan if you want to cooperate on these platforms. Very soon it gets expensive. It doesn't make much sense to count the individual license for Jira (but it makes sense for Jetbrains).
Whether you buy it, borrow it or build it; you’re locked in to the chosen solution.
Homegrown solutions are often harder to escape from than commercial or FOSS solutions.
It’s sometimes easier to escape from one commercial solution to another as companies will provide migration tools and docs as part of their competitive strategy.
You can mitigate solution lock-in through good architecture, but you can never eliminate the cost of change.
Of course there's a cost. It's just - in my experience - a lot smaller, when you aren't forced to pay subscription fee along the way.
Example - I was working with jira server for several years at pretty small company. As business grew, there were better and worse moments and sometimes there were more important costs, than another yearly support fee.
Atlassian decided to drop this model and tries to force everyone to the cloud. They say that migration will take 9+ months.
That means if they ever do such change again it will take full annual cost of the license to get rid of them, with no option to avoid it.
You're always locked in, so you need to make sure that you can adapt it as needed. Either because you already own it (homegrown) or because you're prepared to take ownership if needed (FOSS done right).
For commercial software (or FOSS-as-appliance) then you're stuck going along wherever your vendor wants to take you.
What is interesting to me is how much of that can be self-hosted, and how easily. An ops team is expensive, but so is $490/seat-month. Some of the things you mention are really easy to replace — I am thinking Git hosting locally, replacing Slack with Mattermost, Docker with Podman, Buildah & a container repository, Postman with restclient or Jetbrains with emacs — but for several of them there really aren’t good free alternatives.
You are not taking into account that big corps prefer to buy because it is also a way of doing risk management. You can make legally binding agreements with penalty clauses with suppliers. You can't do that with your own employees, which means you have to know how to hire great people and have the opportunity to pay them well, which is non-trivial.
But what are the costs of the alternatives? Not buying anything or rolling a DIY solution? This holds for any employee. Office chair isn't free either.
There are many $1,500 per seat subscriptions that could be purchased by themselves. They usually offer some unique business value and are worth it but when free products exists that are as good or better not using them is lazy. Some services like bonusly should not be per seat.
These are costs that you have determined are worth it. You don't have to pay for Postman if it's $29 a month, but it clearly saves you >$29 a month of productivity. You feel that Bonusly reduces your turnover just enough to be worth $4.5 a month.
Not saying that people couldn't make licenses a bit more friendly. But saying it's expensive to purchase tools you could just not purchase if they weren't worth it doesn't make sense.
I think the main point is that “it’s only 10 dollars s month” is a bad argument. Yes, it can be worth it, but there are gigantic swaths of things that could be worth 10 dollars to purchase and a company is only going to be willing to pay for so many of those. Postman doesn’t just need to be worth 29 dollars a month in productivity, it needs to be worth more than everything else I could convince the organization to spend 29 dollars a month on at this point in time.
Especially in this industry where you’re inevitably in competition with free software as well.
I rather give $5/month to the guy developing the open source alternative to whatever you want to sell. The FOSS version does not depend on trapping me into an infinite subscriptiom treadmill.
Of course, this doesn't count the time wasted troubleshooting why your $9/mo piece of garbage doesn't work, or finding out that it never even tried to deliver on its promises. Or the time spent replacing it when you decide to 3x the price out of the blue. Or maybe you just decided to sunset it out of the blue because you got bored?
In my experience it’s not developers who balk at such fees. Management gets very nervous about every $5 and $10/month tool that folks want to use and regularly insists on trimming seats.
And people (including developers) aren’t always rational actors that act logically. Rightly or wrongly, there is a sense of fairness at play when something that was once free is no longer free. People aren’t entitled to a free lunch, but once you have it, it’s hard to take it away. Things like this can make even the most logical people act counterintuitively.
I’m just getting really tired of people thinking good software should be free and all the expertise and hard work that goes into something like Docker isn’t worth paying for. Docker provides a ton of value for very little money. Why shouldn’t I, as someone who makes a living writing software, pay others for the same hard work they’re doing?
If you can’t be bothered to pay for anything, why should anyone pay you for your software?
RMS must be crying and Bill Gates must be laughing his ass off right now at the FOSS movement doing a 180° on "free as in speech and free as in beer". I mean, proprietary software developers have been saying the same thing as the parent poster ever since the FOSS revolution started taking off in the '80s.
Judging by the developer rhetoric, Gates & co. were right in the end and the chickens are starting to come home to roost for FOSS. "Vive la contre-révolution!" I suppose.
Seriously, 90% of the comments on HN when software companies decide to charge customers money is that the poster doesn’t want to spend any money on any software ever (but wants to receive billions of dollars building their own FOSS TODO list app) and that they’re the companies are oppressive and evil. What a relief (and time-saver for the support teams) it must be for companies like Docker to have those difficult users just self select themselves out.
And I'm leaning toward a new philosophy of gratis for people not making money off the code, and paid for people who are. In many ways, the industry might be better off if the corporate software supply chain is professionalized.
I think the right way to do this is AGPL + private licenses all the way down.
Large companies took a while to figure out their replacement options, pick one, validate tooling, etc. They paid up early but they aren't paying again. Rancher on mac is basically a drop in replacement. With WSL on windows, docker desktop was, I assume, already unnecessary. The linux users were probably running docker engine this whole time anyway.
Since getting into the world of startups and strategies, one thing I have realised is that there is nothing out there is the world that is truly free. If you are using a free product today, chance are you are paying it somewhere else in their eco system. Docker desktop used to be free. Lot of products are free initially, it could be because they need feedback, or they are trojan horse for another product in their ecosystem, or they want to win the market share and once competitor is decimated they can rake in money.
So, never chase free stuff if you are an enterprise. Chase quality, value, operational efficiency.
Great move by them to introduce a license requirement for 250+ seats but not waste resources enforcing it (as far as I can tell). Those who will pay, will pay. Those who won’t, will switch tools no matter how painful. They stayed relevant by keeping all their users, even those technically breaking the license, but also collected some cash.
I have a product that has zero reduction in functionality if your license or trial runs out, just constantly nags you when you do useful things with it. Eventually, the workers at the company insist on the company buying it. Sometimes takes 6 months hah.
This works incredibly well on me. I often use free or open source versions of tools and just ignore the nagging prompts about licenses. Then over time, if I like it enough that I eventually end up getting a license for it. I think the ability for me to see the value in something first before committing helps a lot. The free version sort of builds a reservoir of good will that eventually pushes me over to just paying for a license.
Agreed. The friction i have towards buying things i like is very low. As an Apple user i mistakenly convince myself that paying helps get better products[1], and so i don't mind buying products i like. However i have a ton of friction buying products when i don't know that they'll solve my problem. I judge them harshly on that first-buy.
And while easy to cancel subscriptions theoretically let you try and get out, the reality is often that something else comes up, maybe you'll try it next month, you're still not sure, you forget about it, and before you know it you've paid quite a bit.
Yea i don't like subscriptions either. For me though i look at it as a long term purchase and i don't like that.
I don't mind licenses like JetBrains though. Ie purchase a year of updates, but it'll keep working regardless. Subscribe to Own also seems decent.. not sure i've used one though.
I'm curious if there are any podcasts/blogs/books which give "pricing ideas/strategies" based on a "risky" premise like this: keep it very simple and don't worry about theft, because enterprise customers won't steal, and the math works out.
Here's an excerpt of their pricing terms:
Do I need a paid subscription to use the images on Docker Hub for commercial use?
Images on Docker Hub can be used for commercial use, as long as Docker Desktop is properly licensed. Paid subscriptions are needed for commercial use of Docker Desktop at organizations with more than $10 million annual revenue OR more than 250 employees.
Companies can also get in trouble for not buying it, you could have an employee turn into a whistleblower for a lawsuit, to which they would get a % of.
I still don't know how that dude makes money. People use my software multiple times a day, so the nag is quite annoying. I need WinRar once in a few months, maybe.
Though if my memory servers me right one time I bought it for a staff of the site which has.. quite dubious legal position by hosting the abandonware. Of course it was technically a breach of contract because there were multiple people who could use it, it was still one legal license more.
The problem I have with Docker is very simple; to individual users, they provide a service invaluable in a similar vein, though not of similar importance necessarily, to Wikipedia or Archive.org; Docker is literally a utility, which can enable tons of different interactions. The open source community is flooded with different ways to use Docker and take advantage of OCI images and whatnot. I just recently gave distrobox a spin, for example. I use Podman as my container engine, but the theory is the same, and most of the images are on Dockerhub.
The problem here is simple; it only provides this immense value if it is effectively free without discrimination. But of course, it can't really just be free, or at least Dockerhub certainly can't be.
On the other hand, it also provides immense value to enterprise and even smaller customers, too, clearly. And I don't think anybody ever strongly doubted that aspect, it just was more doubted whether you could make a business out of it. But lo and behold, Dockerhub was integrated enough into the ecosystem and without an a strong enough alternative that it didn't seem to matter.
I assume Docker Desktop also factors into this somehow, but I don't know. I don't use it. Even on Windows and macOS, in the event I must use them to do dev work, I just use Podman Machine. Works well enough for me, and I don't care about a desktop UI (although apparently a couple do exist.)
I am glad that at the end of the day, I haven't seen any super bad fallout from this. I'm still able to use Docker images on my NAS without paying a monthly subscription. Whatever their rate limit is, I'm not hitting it. I'm sure it's a super bad pain in the ass for certain parties though. Like I bet GitHub has a deal to keep Dockerhub unlimited in it's CI, but smaller providers that do CI like srht are probably screwed. That's a shame for the entire ecosystem.
Counter-point: most of the value is "a repository of images" and that's just hard sell to pay massive extra (over just "a local VM with some code running" or some of the cloud offerings) for a essentially S3-like file storage with slightly different API and some structure.
Yeah tools and common container format is why it got popular but with amount of alternatives that's not monetizable either.
Docker desktop is a smart move honestly, monetize stuff around the containers (managing, making sure its secure) that generally requires a lot of knowledge without it, so the pitch is not just "make the job easier" but "maybe allow company to skip hiring person(s) dedicated to running the whole house of cards"
> The problem here is simple; it only provides this immense value if it is effectively free without discrimination. But of course, it can't really just be free, or at least Dockerhub certainly can't be.
This is a self inflicted wound. They placed themselves there but never though about the costs of running a free service with PBs of traffic.
> On the other hand, it also provides immense value to enterprise and even smaller customers, too, clearly
And they should had taken money from enterprise from the day 1 for Hub services.
Hindsight is 20/20, of course, but then I learned about Docker "eco-system" (especially things like Watchtower) the traffic costs was one of the first things what I though about.
would enterprizes have paid for dockerhub from day1? it's very unlikely.
also they are in a tough spot, because if they limit the download of the most popular images, they limit their own basic usability, and those images happen to be almost all free super-fungible stuff (alpine, ubuntu, node, redis, postgresql, nginx, apache, and all the hundreds and thousands of common stuff FOSS stuff)
tying downloads to clients requires some development, requires setting up rate-limiting, etc.
I think what they ended up doing is not a terrible outcome (require login above a certain number of pulls, plus - I imagine - they require login if an IP address pulls too much anyway), but they can't really charge too much, because setting up a caching proxy is kind of trivial.
> would enterprizes have paid for dockerhub from day1? it's very unlikely.
For their private 'hubs'? Pretty likely. The usual SaaS stuff. "You can run it at home, with bells and whistles, but you can just pay us...". Add in some corporate mumbo jumbo about auditing, logging, archiving et cetera, et cetera.
> also they are in a tough spot, because if they limit the download of the most popular images
They did it eventually, though from the other end.
> and those images happen to be almost all free super-fungible stuff
Yep, this is what eventually became their success story - providing a service everyone uses without even thinking about it.
> tying downloads to clients requires some development, requires setting up rate-limiting, etc.
Aaand this is exactly what they did.
> because setting up a caching proxy is kind of trivial.
It's the question of convenience. Anyone can spin-up a private registry (pulling from https://hub.docker.com/_/registry/, heh) but it's PITA to configure, maintain, care. Setting up a caching proxy.. Probably can be done, but again, this requires the resources, both hardware and very software.
Docker Desktop is a godsend. I live most of my developing life in my terminal, but the ability to glance into what's going on in different services along with mounts, environment variables and logging is invaluable.
I honestly can't relate very much. I can understand how it would help to be able to see the full breadth of what information there is to go along with containers, but A. I find Docker Desktop to be kind of annoying B. I actually feel like the CLI tool is well organized enough that it is not a problem to quickly grok what information I need using easy-to-remember commands.
That said, Podman Desktop[1] does most of this stuff and it's free. Maybe it isn't as polished (Docker has definitely put a lot of engineering into the filesystem stuff on macOS for example) but to me it looks similarly nice to Docker Desktop. So if you are working as an individual and don't want to deal with licensing restrictions, there is a reasonable alternative at least.
I'm surprised by this as well, but maybe it was the HN bias that made that impression.
My company received the memo from Docker to upgrade to paid version, and I helped many to move on to Podman. However there were teams for which getting a Docker Desktop license was easier than the Podman move. I am sure there are many more companies that can easily afford the convenience of Docker Desktop for a trivial fee.
At work, I developed step by step instructions for using Docker on WSL2, the normal CLI way. People liked it, but figured they liked the GUI better. They also argued that they may as well stick to the GUI because there was a team somewhere else in the company that really insisted they need Docker Desktop, so the company will be buying licenses anyway.
(I was already working on those instructions when the pricing change reached our attention, so it became a viable free alternative only by coincidence, but still.)
One other thing I learned: HN crowd is biased towards people who want to learn and understand their tools to a degree. Workplace use of Docker has large component of people who don't know what Docker is for and don't really care, but they need it for some task, so they want a hassle-minimizing option they can use to get their job done, and then forget about.
I bet it's a huge market, not just for Docker, but any other software tool. One that's somewhat alien to the HN audience.
Docker (and podman for that matter) running on WSL2 need serious corporate investment in pairing with wsl-vpnkit or a similar hack, publishing in Software Center and maintaining.
In hindsight, I would say, it costs several man-months of senior engineers' with good connections in various departments.
And this comes on top of productivity losses prior to the solution.
Right, $5/$9/$24 is nothing compared to a developer salary. So if developers switch to Podman, fixing the occasional glitch is going to be more expensive than a Docker subscription. E.g. a while ago there was a bug (caused by a qemu update) that didn't allow Podman to run when the VM used >=4GiB memory [1]. I can imagine that such an issue would result in a large amount of wasted time for triaging and working around this issue.
Not meant negatively towards Podman, maintaining such a package in a constantly moving ecosystem is hard. The point is more that you pay Docker to do the extensive testing for you, so that the work-stopping issues are ironed out before they roll out to customers.
> Right, $5/$9/$24 is nothing compared to a developer salary.
And yet there are horror stories of finance not approving purchases that would significantly improve productivity.
While obviously greater than the $5/9/24 you bring up, I've heard of companies not wanting to buy a second monitor for their engineers, whereas I'd wager the productivity gain would pay for itself in only a couple months.
It is the license fuckery, being stuck on a single platform, having to pay for upgrades for no reason ( well alright I understand this but it honestly sucks. You usually dont need the features and are happy with what you used) etc etc
I dunno.. maintanance, devops, companies keep having to pay for devs.. Hard to switch people.. It's kind of fuckery. It honestly sucks.
//
imo the thing to look out for is actual vendor / architecture lock-in. So just don't make things complicated yourself... Docker has it's uses, but right now it's being used for literally everything. I've been using jails, vms, and containers since the 90s. Docker is niceish, but somehow got lots of attention.
Oh, and you need to be sure your platform won't eat all your revenue.. like oracle :)
Licenses are PITA to deal with regardless of how much you're being paid.
Especially on servers, and especially if for some stupid reason licensed software need internet access to confirm it is licensed, coz that's extra crap that needs to be added on proxy or firewalls and will inevitably break when they change something.
If it's "hey, pay us X and we trust you don't cheat us" yeah, it's just extra invoice ,whatever.
Maybe because 200k+ is not net and if you weight in costs of living, costs of subscriptions for freaking everything nowadays, supporting family and other thousands of different things what’s left is not so much anymore? Not every developer is 20 year old tech bro.
In principle, I agree with you. In practice, if there are cheap tools (or, more likely often less cheap services) to fulfill business requirements--and make things including things like traveling more pleasant--I'll often just pay out rather than dealing with approvals and requests which are often out of policy.
But isn't that the same vulnerability to Docker's business that Docker Swarm had?
The whole of Docker Desktop isn't replaceable with a drop-in alternative today but parts of it are, and the rest could be very soon if an org with the resources and ability keeps developing things like podman.
So what would Docker as a company do when the equivalent of what happens to Swarm happens to Desktop? Pivot again?
> A large chunk of the tech world today relies on their products, but they were making next to nothing for it.
Yes, but only because they ran a massive marketing campaign, and then achieved market penetration as a result of years of developer cargo-culting.
Containers have been around years before Docker, docker added a ton of bloat and a repository. So what? None of the predecessors (Jails, OpenVZ, etc.) needed tens of millions of dollars. Docker just capitalized on something that was open source and shamelessly monetized it. Great for them but not really worthy of admiration or anything to be remotely impressed by.
> Containers have been around years before Docker, docker added a ton of bloat and a repository. So what? None of the predecessors (Jails, OpenVZ, etc.) needed tens of millions of dollars. Docker just capitalized on something that was open source and shamelessly monetized it. Great for them but not really worthy of admiration or anything to be remotely impressed by.
I think it's worth noting that the only thing they make much money off of now is their desktop application.
They made it possible for clueless users to "run containers" on Windows and Mac OS (nevermind it's just a Linux VM...). Technical users had long been capable of doing similar themselves with Linux or BSD or Solaris or what have you, but that's not the important piece of what Docker brought to the table.
(And yes, many developers are "clueless users" when it comes to this sort of thing)
> Containers have been around years before Docker.. (Jails, OpenVZ, etc.)
that's exactly what they failed to deal with - Ops people were already fine & happy all the way with _existing_ solutions (they even know the difference between OpenVZ and Jails). Who was/is struggling is the Joe The Average Frontend developer and Project Managers hearing "sysadmins still setting up our Jails".
Or take from other angle - I'm on Windows, my colleague is on Mac, our grey beard devops guy is on Linux-Arch-Btw something - and we all can use the same Dockerfile and play around without not-giving-a-shit how it works under the hood and what kind of NAT/iptables/sysadmin-mumbo-jumbo is beneath.
Total win!
>>> Containers have been around years before Docker,
True, but docker made it easy peasy. They came up with the packaging format and other things in a neat little package. This was what made everyone take up docker when it came out.
The reasonable price helps. We could have switched back to docker-machine. We even had a PR ready to do it on our workstation setup scripts. But given what they were asking for the value given, it didn't make sense to cheap out.
Everytime there is a price hike everyone complains that said product is dead and open source competitor will replace it. Nearly always, the people complaining aren’t thinking about starting an open source project.
I had to manually ln colima’s docker.sock to the default to get AWS SAM to work. Regardless of setting the env variable or docker context, it would always try to use the default docker.sock.
You've been able to `brew install docker-machine` for like 10 years. Docker Desktop just gave you a UI for stopping and starting things. Eventually they added some kubernetes stuff and a kubernetes context switcher. Dunno what else it did since I always installed via brew.
I would have been a docker desktop user for years but the one time I went to install it they required me to create an account to get to the download.
The only way to get Docker to work on MacOS and Windows is to spin up a linux VM, install Docker in that VM, and pipe through all the calls to it. You can always do this manually using your VM of choice. There are a bunch of tools which make this more seamless, Docker Desktop being one of them. Alternatives are Podman, Colima, Rancher Desktop, all of them with their own pros and cons.
Docker uses container functionality specific to the Linux kernel. So on Linux, you can install a relatively lightweight engine. But on MacOS or Windows, you need to install the entire "Docker Desktop" app, which secretly spins up a Linux VM in the background, and presents a (pretty poor) abstraction as if this is all running on the host machine.
On Windows, you don't really need to use Docker Desktop, I personally find it more convenient to run just plain old Docker in WSL. It's still a Linux VM, but you get more control over it.
I never understood what the point of Docker Desktop was on Windows if WSL exists.
docker-machine from brew sets up the linux vm using one of a few virtualization options. iirc I always used bhyve and never had to give it a second thought.
your question is confusing, docker-desktop is a gui utility. rancher-desktop is the equivalent to that.
if you don't want a command line, docker itself (the underlying utility that the docker-desktop GUI drives) is free, in contrast to the GUI portion. Or kubernetes.
Nope, none of this is correct. Docker only runs on Linux. The core purpose of Docker Desktop (and similar tools) is to spin up a Linux VM under the hood and manage its lifecycle, route network calls, share volumes etc. You can do all of this yourself of course, but it will be a non-trivial amount of effort to set it up.
"brew install docker" is just another way to install Docker Desktop. It does not run Docker natively on MacOS, because that is impossible.
Again, please actually look at the commands you are referencing before spreading misinformation, you are confidently incorrect and being rude about it.
Not only that but the information you are providing has legal implications because these two (completely different!) pieces of software have different licensing... docker-desktop is commercial license, not open-source!
You clearly do not understand the distinction here between the docker CLI utility and backend, and the docker GUI application, and it's very important here.
rancher-desktop is the equivalent to docker-desktop, ie the commercial portion, and docker itself can be used freely because it is (as I said) open source.
The parent comment was talking about Docker desktop, which is clearly targeted at macos and windows. Saying that you can just download it with an apt command is irrelevant to the discussion, because we can't use that outside of linux.
I didn't know what it was, so I didn't know it was only for macos and windows. If instead of being sarcastic he had just answered my question, I wouldn't have said something irrelevant.
You asked a question which literally has no relevancy to or answer in macOS. There is no apt. There is no default package manager. There is no equivalent command to run on a new system.
If you wanted a real answer, you should have asked a real question. Something like, are there any options other than docker desktop for macOS?
Nobody is talking about that question. You received an answer to it already:
> The thing that I have to install on MacOS so that I can run docker. Is there any other way(i.e no gui utility) ?
We're talking about your subsequent reply asking a further question. A question that has no relevancy to or answer for macOS for reasons already discussed. As I said before, if you wanted a real answer then you should've asked a real question.
> Pro-tip Remove that keybase from your profile, you look ridiculous.
Nobody asked for your unsolicited advice or opinions regarding Keybase or ones' use of it in their profile, thanks.
The problem I see with their business model is that the technology has long been commoditized, and alternatives are often better. It's a pretty tough spot to be in.
Anecdotally, I use Colima on my Mac, and it is better than Docker Desktop in pretty much every way I can think of. I'm sure I'm not alone.
Generally, a company like Docker would sell support agreements (ie: how Red Hat does it), but selling support to developers rather than to support core infrastructure/production deployments probably wouldn't work. I hope they can figure it out and succeed.
Competitive Docker Desktop replacements (podman) are just starting to see adoption IMO. Let's see the number next year. Lots of companies had no other choice but to pay.
Maybe i'm just in a bubble but none of those Docker Desktop replacements work well on a locked down corporate laptop. Sure you can get it to work somehow, manually configuring proxies, dns and stuff. Docker Desktop somehow just works. Thats why we pay for it.
That is changing fast and in a year or two Podman and Rancher (and a few others) will be just as good. A number of large companies are also building their own in-house replacements.
I was personally looking for an alternative even before the license change, because the performance of Docker Desktop on my Macbook Pro is terrible in a number of different ways.
I think it will be interesting to see the next few years. There were quite a few orgs that jumped as the pricing was introduced, detachment from k8s etc that was a side effect, a bunch of new options in (free) market. Just from my perspective out of the orgs I know of that bought into the pricing, every one of them has active projects to get off in the next year.
Such a strange way to say, “Charging enterprises for value provided.” They’re clearly providing value if customers are paying for it. If you would prefer to spend engineering time rolling your own, that is an option. Paying someone else to make that pain point go away is, clearly, also an option. Tangentially, sell to businesses, not individual devs.
Isn’t this forum supported financially by startups generating value from solving someone else’s problem…for money?
Assuming I meant absolute dollars is absurd, I was talking about sustaining or increasing revenue. That should, if anything, be easier for a small company.
In theory it’s simple and it’s happened many times: If you have a company with a lot of users but no income stream, you can hold those users hostage without adding much value, just find something that causes immense discomfort if it disappears and charge for it. Profit skyrockets, customers leave over time, the company dies.
You said "Juicing ARR in a dying company is not rocket science" - I'm saying it is rocket science and that it's way hard. The fact there aren't any examples makes me feel like I'm correct in saying it's not easy.
do we know the breakdown of that revenue? are companies paying for dockerhub access? is docker desktop a big chunk? how many users? how many companies?
if they can keep providing value to their high-revenue clients, sure, they might keep doing great, but if all they provide is a mediocre desktop app and the dockerhub these companies will eventually set up a caching proxy for the dockerhub (or otherwise trim down pulls), and will migrate to alternatives for the desktop app.
the hockey stick looks great though. and comparing it with Atlassian is really apt, because Jira is a bona fide UX garbage fire, but ... there are just no real alternatives. So folks continue to pay for it. It's madness, but there's a method to it, of course.
It makes me wonder if Oracle is making any money off of Java at this point. Aside from losing court cases over IP, they have seriously soured the brand.
Looks like there's a lot of discussion about Docker Desktop alternatives here, so shameless plug: I've been working on a new Linux+Docker+Kubernetes solution for macOS recently! Already has quite a few improvements over existing apps including Docker Desktop, Rancher, Colima, etc:
- Fast networking: 30 Gbps! vs. 150 Mbps with Docker VPNKit. Full VPN compatibility, IPv6, ping, ICMP and UDP traceroute, and half-open TCP connections. (Future work: transparent proxies)
- Bidirectional filesystem sharing: fast VirtioFS to access macOS from Linux, but there's also access to the Linux filesystem from macOS. This can help with performance: for example, you could store code in Linux and edit it from macOS with VS Code (which can take the performance hit of sharing), so the container runs with native FS speed.
- Not limited to Docker or Kubernetes. You can run multiple full Linux distros as system containers (like WSL) so they share resources.
- Fast x86 emulation with Rosetta
- Bidirectional CLI integration like WSL
- Much lower background CPU usage. Only ~0.05% CPU usage and 2-5 idle wakeups per second — less than most apps, while Docker wakes up ~120 times per second. Made possible with low-level kernel optimizations. Also, no Electron!
- Better solutions to other problems that can occur on macOS: clock drift is corrected monotonically, dynamic disk size, and more I'm working on now. Will look into memory usage too, although I can't guarantee a good fix for that.
- No root needed
Planning to release it as a paid app later this month. Not OSS, but I think the value proposition is pretty good and there will be a free trial. Not sure about pricing yet. (Let me know if you have any thoughts on this!)
If anyone is interested, drop me an email (see bio) and I'll let you know when this is ready for testing, likely within a week or two at most :)
Also, feel free to ask questions here or let me know if there are other warts you'd like to see fixed.
As a fan of everything containers and WSL (what else), I'll be looking forward to see any demo and docs of your project.
I understand it's not OSS and that's fine if it's your choice, but that's why your communication and demos will be key for the success of your app.
Claims are good, proofs are key (and I'm curious how it will separate itself from LIMA :)
I sincerely wish you all the best and as said, really looking forward to the first set of demos (videos/streams)
It's a mix of Go, Rust, Swift, and C, but I didn't write any virtualization code—it's all built around Apple's Virtualization.framework because that's the only way to use Rosetta in VMs. (The architecture bits are behind a private API in Hypervisor.framework.)
I haven't used a mac for quite some time and when I did, I used docker-machine. I recall from my use and from trying to help others that were using docker desktop, it was unusually difficult to make your ssh-agent available in a container.
If that's still an issue, then please figure out a way to make that seamless.
I have seamless ssh agent forwarding for full Linux distros, so if you're running Docker from a Linux shell (like you would in WSL), then the usual way (https://gist.github.com/d11wtq/8699521) should just work. Making it work when running Docker directly from macOS will be challenging, but I'll dig into it and see what's possible. Thanks for bringing it up!
Yea I use a linux workstation these days and wrote some tools that worked fine with docker on linux but was a nightmare to make work on any of the docker on mac solutions my coworkers were using.
Great question! I wrote a new userspace network proxy/stack in Go, similar to Docker's VPNKit and built it with performance in mind at all levels.
What makes it fast is support for modern NIC features that improve performance significantly, similar to those supported by Apple's in-kernel NAT (vmnet) but implemented in userspace. I've made changes to the guest kernel to implement these while working around limitations in Apple's Virtualization.framework. I'm not actually sure why it's slightly faster than vmnet in the host-to-guest direction (30 vs. 25 Gbps), but I'll take it.
Some snapshots of my journey working on the network stack:
Our company pays for Docker Desktop licenses, but we've made every other effort to not rely on Docker directly (e.g. DockerHub) to avoid the SPF. Pull-through caches with ECR were a quick way to drastically reduce reliance further.
Given the state of our internal tooling, we can conceivably move to podman or similar within the next year if the license fees become onerous, but, given the size of our org, we likely will just keep forking over license fees as it's cheaper than the salary to remove the dependency.
If paying for docker affects your bottom line, you have bigger problems. In the meantime, not paying things creates a tragedy of the commons and distorts the market (by giving an advantage to incumbents who earn money on other things).
Some companies are probably not far away from technical collapse if a few of their critical open source libraries and tooling go to shit. Better cough up a little bit now than have to fork in the future and set up a whole new team to maintain that dependency - likely with much worse results than before.
The buildkit tooling such as `docker buildx bake` is great. I haven't seen this level of innovation from the other OCI builders that are aiming to replace Docker.
I found the first scenario that I actually wanted to pay Docker for- a dedicated, hosted Buildx runner. Not some multi-tenant thing that reads and writes a slow cache to S3 before and after every build. A fast one, that keeps the cache hot.
I'd pay 2x whatever the EC2 instance cost would be to have this managed and updated automatically.
On debian and Ubuntu there is the podman-docker [1] package which is really convenient. It allows you to use docker commands with podman as the underlying engine.
I'm surprised Docker Desktop drives so much revenue. As far as I know, it is a Mac and Windows-specific tool.
Are FAANG and FAANG-like developers not using Linux machines locally despite deploying production software on Linux servers? Even for enterprise developers who use Mac and Windows, isn't 99% of day-to-day development on a Linux box you SSH into anyways?
I've never really quite grasped the need for Docker Desktop.
There is a myth that software developers are good with computers but that's mostly not the case, hence heavy mac/windows usage, harder to break than someone with linux machine and root.
I am one of the developers who maintain our embedded Linux distro. I use WSL2 to compile it. I used Linux desktops for 15 years as my primary desktop previously and I will never go back to Linux desktop. I spend less to no time on Windows for configuring the HiDPI displays, finding hacks to make presentations and chat software work, dealing with dodgy drivers.
As some have said, reality is quite different. For example, my two last jobs:
- company uses Microsoft stack (.net, SQL server, windows server), so its 100 employees are also on windows
- company let's its 50 employees pick what they want, which is mostly MacOS
Why? Because it's less effort maintaining, and you don't run into compatibility problems for your other programs. With virtualization and docker, you can simulate your production servers much more easily than before!
Personally, I am a fan of Linux, having used Ubuntu, Debian and Manjaro, but nowadays use windows+wsl+docker for everything.
Some acquisitions at FAANG I’m at have carve outs with legal and finance for docker desktop. Originally internal projects are all on internal tooling for compliance reasons
Sure, it might exist for Linux, but what's the point of using it on Linux? The only reason I've ever ran it on other OSes is because they don't support Docker Engine directly.
HashiCorp Nomad is a nice alternative is something you can look into if you're looking for a lightweight Kubernetes replacement. Also, it doesn't support everything Kubernetes does, it should be enough for most use cases.
Thanks, been thinking about it. It looks really nice, but it’s really hard to beat how easily you can go from compose in local development to swarm on prod in small team.
Running k8s locally with kind isn't that bad either. Apart from having to load rebuilt images into the cluster all the time you can for most of the part reuse the same pod-manifests as you do in cloud environment.
The second there's a CLI-only 100% compatible Docker Desktop replacement for macOS I'll use it. Docker Desktop on macOS is insanely slow and there's 0 reason it should be a GUI app that lives in my menubar, it's just ridiculous.
So far all the alternatives are "mostly" compatible with caveats here and there.
There's Colima[0], but in my experience it still isn't as stable as Docker Desktop. It also isn't any faster and I doubt any competing software will be, since the best way to virtualize Linux on macOS right now is to use Apple's Virtualization.framework with VirtioFS which is exactly what DD (and Colima) is doing.
On a personal note, I find the menu bar icon useful to see whether the VM is running and to pause/resume it (a functionality that none of the alternatives have).
I work at a pretty large corporation that uses docker desktop. The engineering team is in the low hundreds spread across the world. We happily pay for what we use and it's all great. We don't really use many features of docker desktop though. We have our own image space (ecr) and I don't think anyone is using or relying on extensions. I'm sure some team will eventually socialize an alternative. The reason we went through with paying for docker desktop was probably the lost time and productivity of transitioning off without due diligence dedicated on getting another option to work just as well. I don't know if our org gets customized pricing, but if it's $24/mo for us, that's maybe a 1/3 of an hour of the least expensive run rate engineer we have (worldwide, again), per month. That's maybe 5 hours of run rate time per year per engineer. I can see why our org bought in at the time and continues.
On a personal note, I was fine with the change, since it allowed personal use still with docker desktop. When Docker Desktop for Linux came out, I gave it a try on a clean server. Unfortunately, even on a fresh Ubuntu install with fresh hardware, the reliability of Docker Desktop for Ubuntu was awful, crashing every few days into a stalled state. I had to make a cron job to watch it and maintain it's uptime.
We deploy everything in kubernetes in the live environments, with databases in rds, s3 for objects, sometimes dynamo for other data types or patterns.
Locally there's docker compose for the APIs (Java, python) and usually postgres. It's a good observation, interrupting that workflow would be quite a pain.
> 254% YoY from ~$11M ARR in late 2020 to ~$135M at the end of 2022 just by flipping Docker Hub and Docker Desktop to paid for businesses
I have never met a single person who pays, or works for a company that pays, for Docker Desktop. Why would you?
Paying for Docker Hub seems like something that people do because they have to short-term, but there’s no genuine selling point to it long-term and I suspect people will migrate to self hosted solutions if they have not already, so it doesn’t strike me as particularly sustainable revenue.
i worked in a megacorp on a 1000 person initiative - with hundreds of developers - that had standardised on giving everyone macbooks, and many teams were using docker for mac to develop and run containerised integration tests locally. when the docker pricing model was announced, there seemed to be a pretty strong value proposition to just paying the monthly per-user license fee to continue using the software and not disrupt what teams were doing vs putting the effort into migrating to something else. what were the alternatives? develop a new linux+some other hardware soe, migrate everyone off the macbooks to that, then migrate to podman? etc. it could be done but the switch cost and effort would be a big distraction, and it'd require a lot of re-work and risk to reimplement all the enterprisey things that had been established for the macbook soe (like email, "endpoint protection", video conferencing, etc). another alternative could have been to burn a lot of engineering effort to eliminate the use of local container-based workflows, say, or for someone to build out a developer VM soe so that people could remote into linux machines to develop with podman.
it was interesting that a lot of the docker pricing model is about container image storage in docker hub, in the enterprise context i was working in, that job was already been done by running private container registries in the chosen cloud vendor's platform, so the docker hub offering didn't really add any value.
I think they just cashed out; enterprise had to pay, for now, while evaluating and migrating to free alternatives. I don't think it will be a sustainable growth.
For a 100-300 developer company running macs, I don’t think the current “free” alternatives would be less expensive than paying for Docker Desktop. I managed wrappers around Vagrant when Airbnb was that size and boy howdy did the whole org pay for every bit of the quality difference between Virtualbox+Vagrant and the Docker Desktop of today. I would rather buy a reliable GUI for fiddling and resetting the VM, wrangling file shares etc over implementing it myself. Maybe Colima will get much better but today doesn’t seem like a good choice unless you’re at 500+ devs and want to spend Dev Infra headcount polishing it up & supporting it.
My point exactly, I see very little proof that this is without a doubt a “reboot” of the company from a financial standpoint, it looks more to me like finding income out of desperation while doing nothing to improve the base value prop. But I could be wrong, I don’t wish for Docker to fail more than anyone else.
The essential maxim in all the startup literature is “you’re not charging enough”. That was very much the case for Docker Desktop. At the current price there’s gonna be churn but that’s the case with anything customers pay for.
> I have never met a single person who pays, or works for a company that pays, for Docker Desktop. Why would you?
Because it's a hard requirement of the license and their salespeople will call your boss to ask why you're using the non-commercial install for company work?
For companies that use macbooks docker for mac is still much better than the alternatives. It's really not that much $$ at the end of the day. If docker is affecting your bottom line the business is fundamentally flawed. It's not like the pricing is unreasonable.
It's a value-add in macOS-heavy environments since it handles a lot of annoying cross-architecture VM and filesystem management for you under the hood. Of course teams can roll their own alternatives, but that takes more resources (i.e. effort, productivity, money) especially as the number of internal users you need to support grows.
Ok. Docker is also a convenient container registry. And its independent of ALL of those infrastructures so if i cancel any of them or move elsewhere, Im still good. So why should I not pay for Docker?
That doesn't make a difference. With most of the stuff, images will only be pulled when they are not locally present or stale. Ie pull if not present in K8. So doesnt make any difference.
In a cluster of any size worth discussing, this is hundreds if not thousands of pulls over public infrastructure vs private, which is a bad trade off in the vast majority of cases.
If they partner with the Business Software Alliance to start offering bounties, their revenue will drastically increase. They already proved not to give a crap about telemetry in their products. I bet they start using callhomes and registered IP space to figure out quick who is cheating.
I'm skeptic how long this will last unless they bring out some cutting-edge innovations. I frankly used and loved Docker Desktop for a long time because it was the easiest way to get going and I believe even k8s is included now which is great for hobbyists and those who just want to get things done. But, I've been annoyed by the UX changes and the push to login to docker hub.
While in 2023, there are most certainly great alternatives that are relatively easy to install from the terminal and get going, I guess there's not yet a definitive replacement that comes with the GUI too. Best I can think of is Podman Desktop Companion[1] but not sure how well this works.
I'm more interested in seeing if Amazon can productize firecracker to create a substitute for docker. The security of firecracker is pretty good compared to docker and can also enable development that puts serverless architecture first
Everyone talks about how docker desktop will be replaced as it's a commodity and I agree. However I see no one talking about the value Docker hub brings which is now bundled with all paid users.
By paying we didn't have to migrate anything and are now building and pushing every commit on our app as a 800mb image (I know its a little to big...). We are storing hundreds if not thousands of images and uploading / pulling TBs.
This kind of usage appears much pricier in container registry offered by cloud vendors
Though personally, Docker has always been a safe bet (both the desktop software, as well as the container runtime), I think I'll stick with it for a few years and let others take the early adopter risks, and use the alternatives when they've been more battle tested.
Because to some people using GUIs are more approachable and in some case objectively better (e.g. telling the state of things at a glance and efficiently using screen real estate, with graphs and whatnot), whereas the ways they're worse in might not dealbreakers (e.g. lack of automation, given that there can still be APIs or access to the underlying cluster anyways).
For an example of this, see pieces of software that one can use to manage orchestrators (essentially one step further than just running individual containers, but a good example of how UIs can be useful):
And some of that applies to running regular containers and managing them locally: for many it can be useful to be able to just click around to discover more details about a container, as well as what's using storage and so on. Thankfully the CLIs of Docker and competing runtimes are pretty well structured as they are, but I guess it's just a different type of UX.
At the end of the day, what works for you, or even what you find comfortable to use, might not be the case for someone else and vice versa. It's definitely nice to have that choice in the first place, and to know the various options out there.
I tried portainer , aweful UX experience and all good features are inside paid version .
I gotta try Nomad. I am planning to try Rancher too.
Lazydocker UX is much superior , can do all the things fast and neat , it is Terminal UI with tmux like key flows , and allows clicking items, so can be said GUI and much better UX experience. Give a try!.
> I tried portainer, awful UX experience and all good features are inside paid version.
This is interesting to me, because it doesn't quite match my experience - I've been using Portainer for around 3 years at this point and it's been pretty decent.
The worst issues that I've gotten is networking issues in some hybrid configurations with Docker Swarm (e.g. Portainer cannot reach the manager node of the cluster for a bit), or troubles configuring Traefik ingresses when managing Kubernetes (though I think the recent patch notes talked about improving the ingress section, so maybe the experience will get better with non-Nginx ingresses).
Other than that, it's been great for onboarding new people, illustrating the cluster state at a glance, easily operating with stacks and scaling/restarting services as needed, including pulling new images, viewing the logs or even connecting to containers through a web UI if need be. The webhook functionality in particular is really nice - you can just do a curl request against a given URL and that will pull the new container versions for the given image and do a redeploy, which works nicely with a variety of CI solutions.
When I last tried, initializing Nomad clusters with networking encryption was a bit less of a smooth experience (needing to essentially manage your own PKI) and the web UI felt more like a dashboard, instead of something that you could click around in, if you're a proponent of that workflow.
Rancher is probably better than both of those options, though there's a certain overhead in regards to running both that software and a full Kubernetes cluster. If Kubernetes feels like a good fit for a particular project and resources aren't an issue, definitely check it out! You can, of course, also have some success with lightweight clusters, like K3s: https://k3s.io/
I'll definitely agree that Lazydocker is a nice tool, but I wouldn't call it superior, just different (TUI vs GUI), their demo video is nice though: https://youtu.be/NICqQPxwJWw
It actually reminds me of ctop, which you might also want to check out, though it's not something that you'd manage clusters in, merely the individual containers on a node (which won't always be enough, same as Docker Compose isn't): https://github.com/bcicen/ctop
Regardless, for Kubernetes, I'm inclined to say that you'd enjoy k9s a bunch then, it has a similar TUI approach: https://k9scli.io/
I'll be interested to see how this turns out. This is already looking more positive for them than I expected.
Rancher Desktop has been working great for me, so I'm not sure they'll be able to keep increasing their numbers with so closely comparable free competitors. I'd be curious what the breakdown is in terms of how much of their value is from Docker Desktop vs. Docker Hub vs. ancillary features.
There is a high cost of switching tech stack for companies, especially when availability of alternatives is unclear yet. So lots of companies will have no choice but pay for it.
But for individuals it would be a complete different story. I've been playing with PodMan on linux in my home lab for a while now and I'm super happy with it, especially it doesn't need root in most of the cases.
When they started charging for Docker Desktop I immediately uninstalled it and just installed the cli-client on my mac machine, and started running Docker itself in an Ubuntu VM and set the $DOCKER_HOST on the host machine and do everything in the CLI. The only reason I use $DOCKER_HOST at all is because I'm just too lazy to have an SSH session constantly open to the vm to run docker commands, otherwise I would just install the docker snap in Ubuntu and call it a day and use it directly.
My company is still small enough that we could use Docker Desktop for free, but I refuse to get sucked into such a shitty value proposition.
I question your competence if you can't run docker commands in a terminal and think $5 per month for a lousy electron app that wraps the commands with some buttons is good value. The fact they they are making $135M ARR and the company is valued at over a billion dollars is absolutely insane when superior alternatives that are Free exist.
I'm also pretty happy with the pro plan, it's pretty convenient to use as its default most places, free storage and transfers for images, no surprise costs.
Haven't seen the appeal of docker desktop though as linux user...
I really enjoy using docker compose to run most of my hobby and small project websites on small cloud nodes. With the remote builder functionality, it makes CICD and deployments trivially easy for me as well.
For the many here who have moved to an alternative (colima, Rancher, podman, etc), other than cost, is there a compelling (ie technical) advantage to these options? (on macos specifically)
Kubernetes deprecated Docker support a few years back, so there will come a day that it may not be part of Docker Desktop.
Rancher Desktop supports k3s with containerd out of the box, which has no announced deprecation.
It's possible they plan to add containerd support to the built-in Kubernetes management of Docker Desktop once Docker is no longer supported, but I haven't heard about it.
Beyond that, I'm not aware of any technical advantages. For me Rancher Desktop essentially covers 99% of what Docker Desktop did, so just knowing that there won't be a point where it'll cost money is valuable.
(CTO of Docker here)
Kubernetes moved Docker support out of the main repo, late last year. It is still supported and works, it is just an external repo now. As well as this Docker runs on containerd (which was originally a Docker project to work more closely with the Kubernetes project, now a CNCF project), and Docker Desktop now has a beta option to run the full containerd backend, including the image store, which we may well use to provide a common image store across Kubernetes and Docker engine in future, we are still exploring the many ways in which we can continue to improve the Kubernetes on Docker Desktop.
Enjoy while it lasts. People are pissed about the approach they took to gain marketshare before changing the terms. Soon enough there will be a viable free alternative.
Happy for them, even though containers were already extant, docker were the ones who came up with the container image format and made it all easy peasy.
The first attempt was to sell a crappy PaaS and container registry.
The second attempt was about monetising the desktop tools, more of a Dev tools play.
They have never really tried to bait and switch and monetise the Docker engine which always seemed like an open goal to me. $XX/year per engine and they would have been the next VMWare. Alas, seems like the current strategy is working well.
Alongside the change in strategy, I think there has also been a change in culture. Docker 1.0 was absolutely dripping in arrogance and weren’t set up for an enterprise sale. Developer tools seems like a much more natural fit.