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.