[HN Gopher] Speed boost achievement unlocked on Docker Desktop 4...
       ___________________________________________________________________
        
       Speed boost achievement unlocked on Docker Desktop 4.6 for Mac
        
       Author : ingve
       Score  : 88 points
       Date   : 2022-03-16 18:00 UTC (5 hours ago)
        
 (HTM) web link (www.docker.com)
 (TXT) w3m dump (www.docker.com)
        
       | 1123581321 wrote:
       | Invalid SSL on WPengine--can someone who saw it briefly
       | summarize?
        
         | sethhochberg wrote:
         | The release notes have a good overview:
         | https://docs.docker.com/desktop/mac/release-notes/#docker-de...
         | 
         | > Docker Desktop 4.6.0 gives macOS users the option of enabling
         | a new experimental file sharing technology called VirtioFS.
         | During testing VirtioFS has been shown to drastically reduce
         | the time taken to sync changes between the host and VM, leading
         | to substantial performance improvements. For more information,
         | see VirtioFS.
        
       | xerxes901 wrote:
       | Oh hey, I'm the Konstantinos mentioned at the end. The excellent
       | work done by the Asahi Linux folk on discovering demonstrating
       | the incredislow MacBook nvme flush is what prompted me to dig
       | into this for Docker.
       | 
       | Nice to see the fixes make it into a release!
        
       | legodion wrote:
       | Know what's even faster? Configuring your local host server with
       | the same values as your remote production server. It really isn't
       | that hard.
        
         | brimble wrote:
         | Cool. I need to roll back to a version from last year, with
         | entirely different versions of daemons (PostgreSQL, et c). Then
         | run that side-by-side with what's currently deployed. I may end
         | up needing to git-bisect and repeat this process a half dozen
         | times--this afternoon. I want _none_ of those deps or configs
         | to hang around, at all, afterward. And I 'll need all that gone
         | next week and a whole different set of services installed
         | because I'll be helping out on some other project entirely. But
         | then I'll come back to this and need all those things installed
         | again. At any moment someone might have a question on something
         | else entirely--a whole suite of services, potentially--that,
         | ideally, I'd be able to fire up an try out locally in, at most,
         | a few minutes, then completely eradicate when I'm done so it's
         | not wasting disk space.
         | 
         | What's your solution for that? A bunch of full-fat VMs
         | configured with Ansible or something? Been there, done that,
         | less convenient, more resource-intensive, and far
         | noisier/cruftier than Docker (though the script-configured-VM
         | approach is still far better than running that stuff directly
         | on my machine[s], admittedly)
        
         | afturner wrote:
         | Are you suggesting that containerization is worthless?
        
         | rad_gruchalski wrote:
         | Been there, done that. 2014: 20k lines of chef code, followed
         | with tons of ansible yaml soup.
         | 
         | Containers are better.
        
         | fredoliveira wrote:
         | Sorry, no. Unless of course you plan on not doing anything else
         | on your machine. Otherwise it can't be a 1:1 replica of your
         | production environment, which defats the purpose. The reason
         | containerization is so appealing is because it lets you have
         | the same exact setup (to the byte) everywhere. By doing that,
         | you build predictable environments.
         | 
         | If your production environments don't require reproducibility
         | that is fine. If you want to figure out what might be causing
         | issues in production by using a setup that has the same
         | dependencies but a different underlying base, fine. But that
         | just won't do for lots and lots of products.
        
         | bhuber wrote:
         | It is when your local host server is macos and your remote
         | production server is... anything else. I'm sure the number of
         | people running macos servers in production is quite small in
         | proportion to linux.
        
       | chemicalnovae wrote:
       | Lots of chatter here about alternatives that all seem to miss the
       | point that the alternatives suffer from the same filesystem
       | performance issues that this release claims to improve. Might not
       | be an issue for you but if you've ever had to work with a volume
       | mount with a ton of small files (like php or node dependencies)
       | then this could be a real life saver.
        
         | flurie wrote:
         | Both Kata Containers and UTM support virtio-fs, so this is not
         | strictly true. The former can be used as a stand-in replacement
         | for the runtime used by docker desktop[1]. With the latter, one
         | could use a UTM-backed guest as a docker runtime in macOS[2] or
         | run docker directly on the guest[3].
         | 
         | [1] https://github.com/kata-
         | containers/documentation/blob/master...
         | 
         | [2] https://www.codeluge.com/post/setting-up-docker-on-
         | macos-m1-...
         | 
         | [3] https://www.lifeintech.com/2021/11/03/docker-performance-
         | on-...
        
         | cutler wrote:
         | Is this an issue with dynamic languages in general? Are
         | Java/Kotlin and Golang, for example, not affected?
        
           | rad_gruchalski wrote:
           | It depends what you need to do. If you build a golang binary
           | in a container and run go mod tidy, you get hit by it. If you
           | build a java app with, say, maven, you will pull deps into a
           | volume mount and you get hit by it. Of course, you can mount
           | a host dir to avoid the problem to a certain extent.
        
       | benbristow wrote:
       | Shame you started charging for commercial entities. We've all
       | uninstalled Docker Desktop (Windows) now in our team and just
       | gone to using the software (mainly SQL server) natively on our
       | machines instead.
        
         | Isthatablackgsd wrote:
         | > Shame you started charging for commercial entities.
         | 
         | Is that how it works for commercial license? Commercial license
         | come with extras than what personal-use/free licenses have. You
         | are whining that Docker is charging for commercial license that
         | the company you works for is a commercial entity. Docker
         | provides an platform and they are not free for commercial to
         | use. Personal use is a drop in the bucket for them because
         | personal users are not overwhelming their servers or pulling
         | huge data daily. Commercial entities is a deluge in the bucket
         | for Docker because entities use their servers more often than
         | personal user do. Commercial uses consumes more data than
         | personal use and you want Docker to accept that and eat the
         | costs for commercial entities? If Docker does this, then Docker
         | will not last a year without commercial pricing.
         | 
         | You, sir, have a strange ideology of this.
        
           | MandieD wrote:
           | Docker Hub was part of why we declined Docker for Business
           | and instead came up with our own WSL-based workaround. Docker
           | Hub is an anti-feature for large enterprises; we had been
           | blocking direct access to it for a while before all this and
           | instead providing images via internal Artifactory once we'd
           | had a look at them.
           | 
           | Another major part was SSO being merely on the roadmap at the
           | point we would have had to begin the purchasing process with
           | our licensing service. "Well, just slap down a credit card!"
           | That is not how large enterprises work, and Docker appears to
           | have fallen down on their market research when they didn't
           | set up a way to deal with purchase orders.
        
           | hedora wrote:
           | All commercial entities I have worked for wanted to locally
           | host docker hub for cost, resiliency and security reasons.
           | 
           | Third parties even produced patches to do this but upstream
           | rejected them.
           | 
           | They wanted a monopoly on burning server and network time on
           | CI jobs. Now they have it, and I'm not sympathetic if it
           | wastes their money. I'm more concerned that it wastes my
           | time.
        
             | Isthatablackgsd wrote:
             | My take of this is that those commercial entities are not
             | raising hell over this. Commercial entities have the buying
             | power (not the individuals nor the single developer(s) of
             | the company) and they are complicit with it. The reason why
             | Docker haven't change stance on the pricing because those
             | entities haven't/don't attempt to use their buying power to
             | sway Docker to change their stance. Yes, developers are
             | raised hell over it but their power as a developers in the
             | commercial entities are not equal. Developers does not run
             | the company, the board of director/CEO/founder/owner does
             | as they please. They just accepts it. That is not the fault
             | of Docker, that is on those commercial entities who have
             | the money continue to pay for those. It is too late to
             | change the stance on this because entities have been paying
             | for Docker support for YEARS and YEARS and YEARS, even way
             | before that last year pricing tier changes.
        
         | [deleted]
        
         | smoldesu wrote:
         | Give Podman a look, if you haven't already. It's FOSS through-
         | and-through, and kinda eats Docker's lunch for a lot of my
         | personal uses. Not sure how it scales in larger environments,
         | but it's pretty close to feature parity with Docker where it
         | counts.
        
           | happymellon wrote:
           | Does Podman have a VM wrapper like Docker Desktop for running
           | on MacOS?
        
             | MrWiffles wrote:
             | Last I looked, yes. AFAIK, MacOS lacks the necessary
             | underlying features in the kernel to implement containers
             | (at least _this_ kind of container) at all, so you have to
             | run a Linux VM under the hood to enable rough feature
             | parity, which is a waste of resources in my view. Yet
             | another reason I 'm planning to ditch MacOS for Linux full
             | time very soon.
        
               | happymellon wrote:
               | Oh, sorry you misunderstood my question.
               | 
               | I know that I would have to run Linux in a VM. My
               | question was whether Podman provided an installer that
               | set up a Linux VM in the same way that Docker Desktop
               | does.
               | 
               | It's completely awful, seeing Mac and Windows spend their
               | their trying to VM Linux, poorly. But that's what I have
               | to work with.
        
               | smackeyacky wrote:
               | What is completely awful is developers tying themselves
               | in knots trying to get MacOS to do things that Apple
               | don't really want to do.
               | 
               | The community edition of Docker is much closer to most
               | cloud container setups anyway, so using Docker Desktop is
               | really counter productive.
               | 
               | There are better alternatives for your workstation,
               | especially if your production environment is Linux based.
               | Most, if not all, of the major development environments
               | run well in Linux. Obviously not XCode, but for server
               | side stuff it doesn't matter.
        
               | bonzini wrote:
               | It's not that it doesn't implement containers, it's that
               | most likely your container has Linux binaries in it and
               | thus it cannot run on macOS.
        
           | matsemann wrote:
           | For running a container it works fine. But for a developer
           | workflow with docker compose, remote interpreters etc. it's
           | nowhere near docker's offering.
        
           | emptysongglass wrote:
           | For those curious, Podman also has an official GUI currently
           | only available for macOS at
           | https://github.com/containers/podman-desktop
        
           | grawlinson wrote:
           | nerdctl[0] is also worth a look.
           | 
           | [0]: https://github.com/containerd/nerdctl
        
         | dewey wrote:
         | Are you charging your customers money for the things your team
         | builds for them? Why should Docker be different?
        
         | sergiomattei wrote:
         | What was the point of using Docker in the first place then?
        
           | benbristow wrote:
           | I don't know to be honest. Wasn't my decision (in-fact I
           | campaigned against it). Probably just to say "we're using
           | Docker" on the job spec.
        
         | otterley wrote:
         | Software is worth paying for if it saves you time (and
         | therefore money) and buys you a consistent, reliable experience
         | with a pleasant UX.
         | 
         | Building software is also the thing that pays a lot of our
         | bills. We expect our customers to pay us for our engineering
         | labor. What makes Docker any different?
        
           | benbristow wrote:
           | The bait-and-switch, providing it for free then suddenly
           | taking it away.
        
             | anamexis wrote:
             | If by "suddenly" you mean "with 5 months notice."
        
               | rat9988 wrote:
               | After many years of service making it hard to remove, and
               | a non negligible cost.
        
               | glenngillen wrote:
               | So the thing that makes this egregious is they let you
               | use it for free for _almost a decade_, while they fumbled
               | finding an alternative monetisation strategy?
        
               | KronisLV wrote:
               | > After many years of service making it hard to remove...
               | 
               | Would you rather they go under as a company, due to how
               | badly their attempts at monetizing containers have failed
               | in the past and then have Docker Desktop not be
               | maintained at all and have Docker as a whole take a
               | noticeable hit?
               | 
               | > ...and a non negligible cost.
               | 
               | I'd say that perhaps using either Docker with the CLI,
               | IDE integrations/plugins or using Rancher Desktop
               | (https://rancherdesktop.io/) are more cost effective
               | alternatives in that case.
        
               | ChuckNorris89 wrote:
               | Those 5 months are irrelevant when companies have
               | invested years of development effort in weaving docker
               | into their workflow. It's a bait and switch, simple as
               | that.
        
               | david38 wrote:
               | If you didn't pay for it, you can only have zero
               | expectations, simple as that.
               | 
               | You can provide something for free, not make any promises
               | that it will be free with upgrades in perpetuity, and one
               | day decide to stop. It's as simple as that.
        
               | kcb wrote:
               | > If you didn't pay for it, you can only have zero
               | expectations, simple as that.
               | 
               | Says who? There's plenty of free as in didn't transact
               | dollars for software that I have extremely high
               | expectations for. Visual Studio Code, Gmail, Github, etc.
               | 
               | When they one day decide to stop I can also choose to be
               | disappointed, not buy and no longer use their software.
               | It's as simple as that.
        
               | anamexis wrote:
               | I think there's a distinction to be made between B2C and
               | B2B there. Gmail and Github are _not_ free for businesses
               | (and Docker _is_ still free for individuals).
        
               | anamexis wrote:
               | I would argue it's only bait and switch if they implied
               | that it would always be free.
        
               | ChuckNorris89 wrote:
               | Did they say from the beginning _" Hey, it's free for
               | now, but brace yourselves, we'll start charging you at
               | some point in the future"_?
        
               | Isthatablackgsd wrote:
               | Did they say from the beginning * "Hey, it's free
               | forever!" * ?
               | 
               | If they made it explicit that it is free forever, then I
               | would agree with your stance that Docker in the wrong.
               | But so far I couldn't find a shred of information
               | indicating that Docker commercial/enterprise account will
               | be free forever. So that didn't put Docker in a wrong.
               | 
               | And be realistic of this world, you cannot expect
               | software companies to survive on free account alone
               | forever. Who is paying the servers to keep it up? Docker.
               | Who is providing the support? Docker. Who paying the
               | developers to keep Docker products updated and introduce
               | new features? Docker. How could Docker survive without
               | the cash flow with the free account forever. I mean
               | Google, Microsoft, Chococately, Homebrew/Brew, etc have
               | commercial licenses to cover the cost of their products
               | to keep it free for personal-use users. If you don't see
               | this coming, well I don't what to tell you but that is
               | the cost of doing business.
        
               | [deleted]
        
               | ChuckNorris89 wrote:
               | _> Did they say from the beginning _ "Hey, it's free
               | forever!" * ? If they made it explicit that it is free
               | forever, then I would agree with your stance that Docker
               | in the wrong. *
               | 
               | Well sorry but free without any conditions attached,
               | becomes free as in beer. If I give you a shiny toy for
               | free no strings attached, I can't come back to your house
               | later and ask for money for it because I didn't specify
               | how long it would be free. If I didn't specify the
               | conditions of the 'free', then I goofed up.
               | 
               | If they didn't put any conditions on the duration of the
               | 'free' from the start and is causing them to loose money,
               | then either they were financially stupid from the start
               | or, more likely, they wanted to pull the classic SV
               | success scam where you bait customers into a free*
               | product for years, burning endless cash to capture the
               | market, and when customers become locked in thanks to the
               | 'free', and you are the de-facto standard with no
               | competition left, start rent seeking.
        
               | Isthatablackgsd wrote:
               | I has been searching for Docker pricing information about
               | various licenses and I came across mutliple snapshot from
               | Wayback and it clearly show they are charging for the
               | support and various thing. It dated way back to 2015,
               | commercial entities already paying for the support back
               | then. It been there for years! To be clear, Free (as in
               | personal-use license) accounts have been FREE to use and
               | it still free. It just that other licenses are not and
               | Docker been charging those other licenses for years.
               | 
               | And people complaining about the "bait-and-switch" that
               | occurred few years ago while Docker has been charging for
               | non-free licenses way before that. Huh?
        
               | anamexis wrote:
               | I could be wrong, but I'm pretty sure they've been
               | explicit for a quite awhile about Docker Enterprise being
               | their product for organizations.
               | 
               | https://web.archive.org/web/20200101044220/https://www.do
               | cke...
        
             | thr0wawayf00 wrote:
             | Did you really, truly think that a product like Docker
             | desktop would stay free forever? This is a fundamental
             | aspect of building software products and companies. I do
             | not understand how in 2022 we still have people hanging out
             | in tech forums like HN that do not understand this.
             | 
             | The first objective of a pre-revenue company is to grow as
             | fast as possible and then either get acquired or start
             | generating revenue, which almost always involves marking up
             | their product. And because of the nature of software, it's
             | easy to build POC's and prototypes that half-work today,
             | with the promise of better functionality and integration in
             | the future. But that tomorrow always comes with a cost.
             | 
             | Somehow, folks in this industry seem to be convinced that
             | it's OK for them to turn a profit on their value-add
             | software, but not other people. What are software companies
             | supposed to do? Overcharge today for software that doesn't
             | necessarily work right now? What's the model that companies
             | like Docker should use instead?
        
               | FooBarWidget wrote:
               | This is not a matter of understanding. It's a matter of
               | acceptance. Phrases like "it's a bait and switch" are
               | just excuses around an entitled mindset.
        
               | ChuckNorris89 wrote:
               | _> Did you really, truly think that a product like Docker
               | desktop would stay free forever?_
               | 
               | You're mistaken here. Nobody has issues paying for
               | software, however people have issues with being baited
               | into a free product to then suddenly be charged after
               | companies get locked in, which is a shitty business
               | practice that needs to be discouraged.
               | 
               | Had Docker been transparent from the start that at some
               | point in the future it will cost money, then that would
               | have been fair since this would have been factored into
               | business decisions.
               | 
               | You can't just hand out free candy and after people
               | swallow it, you tell them they now have to pay up or
               | throw it up, since you can't expect such good candy to be
               | free. That's basically a scam.
               | 
               | Again, it's not about the money, it's about transparency.
        
               | danudey wrote:
               | If there's one rule of adding paid features, it's "Don't
               | make previously-free features paid". They set the anchor
               | price to "free" and then changed their minds later. Human
               | psychology does not appreciate this and will resist and
               | resent it, because we see it as someone taking away what
               | we have.
               | 
               | The solution is to add additional features and charge for
               | them; they _should_ have charged more for e.g. automatic
               | kubernetes configurations and other more  "businessey"
               | features, but now it's too late and there's no value-adds
               | that they haven't already added.
               | 
               | In the end, it's not a complaint about Docker's "value-
               | add" software; they're complaining about an increase in
               | the price without an increase in the value.
               | 
               | I'm not sure what Docker could do from this point on.
               | Maybe I'm missing something, but they seem pretty doomed
               | overall.
        
               | ljm wrote:
               | I'm not going to challenge your point but Docker also
               | found itself in the unusual position of being
               | commoditised before it could figure out how to make
               | money. It's not a novel thought, it's been discussed here
               | plenty enough that their business model vanished under
               | their feet, especially when kubernetes entered the fray.
               | 
               | I can see why people aren't happy with how things have
               | played out. Docker does need to earn its crust and pay
               | its people, and this is strictly for the desktop UI, team
               | space, and nascent collaboration feature with dev
               | environments. It's a value-add over barebones docker but,
               | and this is what is probably frustrating, it targets
               | Windows and Mac users exclusively because it's not as
               | easy to run docker without their software.
               | 
               | Let's not also forget that they made optional upgrades a
               | paid-for feature, while at the same time releasing
               | software with showstopping bugs and regressions. Their
               | response was literally to pay them money so you could
               | deny an automatic upgrade. So my sympathy for Docker
               | finding itself in this position is fairly limited,
               | knowing that.
        
           | halostatue wrote:
           | Docker Desktop on macOS is none of the three (consistent,
           | reliable, or pleasant UX). I have -- with some exceptions --
           | replaced it _trivially_ with Colima for how I use DD (and I
           | am not in the class of people who need to pay for DD, but the
           | forced updates and space-wasting UI were unpleasant).
        
           | heavenlyblue wrote:
           | You built a company on questionable business model expecting
           | that "somewhere down the line you will be making money" which
           | never happened as it happens most of the time when you kick
           | the can down the road.
           | 
           | Now I have to use your software because you used investor
           | money to make that software industry standard (standard,
           | which is in fact pretty low). Yet you still made no money.
           | 
           | Who knows, maybe if Docker didn't exist the vacuum in the
           | solution space would be filled with something better or
           | worse?
        
           | hedora wrote:
           | Docker Desktop doesn't save any time or money vs. things like
           | minikube.
           | 
           | The initial setup is slightly easier, but then you're exposed
           | to random modal dialog popups for all time moving forward.
           | 
           | If there was some value add, then maybe it would be worth
           | paying for. As it is, it looks like they spun off the part of
           | the company that had any hope of turning a profit (via
           | support contracts), and now they're flailing around in search
           | of a business model.
           | 
           | It's a shame. Dockerfiles are nice. I hope they come up with
           | a way of getting people to pay for some (actual) value add.
        
           | kedean wrote:
           | It is and that's great, but changing the license never goes
           | over well, especially for developers in a large company. I
           | would have loved to just pay for DD, but it's really hard to
           | answer the question "this has been free for years, why should
           | we pay for it now?". The bait-and-switch also feels pretty
           | insidious to a lot of developers, please refer to when Oracle
           | did the same thing with their JVM implementation.
           | 
           | I've also found that a lot of large enterprises have had big
           | difficulties on hammering out licensing terms with Docker.
           | When it's a product you actively use, that means the devs
           | will either wait for shit to hit the fan or start looking at
           | alternatives, and find that there are still free competitors
           | (Rancher Desktop, Podman, Minikube depending on your use-
           | case).
           | 
           | IMO, it would have been a whole lot better if the Desktop
           | product had been paid to begin with, rather than being
           | suddenly switched as a last minute monetization strategy.
        
       | NorwegianDude wrote:
       | I guess it's still insanely slow for windows mounts? Or has that
       | changed too?
        
         | matsemann wrote:
         | On Windows I just have the files/repo checked out on the WSL
         | side. At least JetBrains' products handle that very effectively
         | (you get a performance drop the other way with that back to
         | windows side, of course, but IntelliJ/PyCharm/etc handles that
         | with a local cache and some magic making it behave as
         | expected).
         | 
         | One other issue this also solves is that volume mounts from
         | windows don't inotify correctly, so hot reloading doesn't work
         | properly. But with files on the WSL side that works fine.
        
       | athorax wrote:
       | I know it isn't a direct replacement, but I switched to rancher
       | desktop[0] on macos and it has been a pretty easy transition just
       | using nerdctl instead of docker cli
       | 
       | [0]https://rancherdesktop.io/
        
         | speedgoose wrote:
         | You can also use Docker using Rancher Desktop. It's a setting.
        
           | kedean wrote:
           | It's more than a setting, it's the first thing you are asked
           | when you start it for the first time. I love that RD doesn't
           | default to one or the other and make it harder to use one.
        
         | chrisjc wrote:
         | Multipass from Canonical has been working really well for me.
         | 
         | https://multipass.run/
        
         | navels wrote:
         | Similarly switched to https://github.com/abiosoft/colima and
         | have been happy with it.
        
           | Ocha wrote:
           | I've been trying to use Colima but I get weird networking
           | issue - there is a GitHub issue open for it but no solution
           | for now. Was forced to figure out something else for now
        
           | bak3y wrote:
           | I've also swapped to colima and the only thing I struggle
           | with sometimes is just remembering the executable name to
           | start it up :D
        
       | viraptor wrote:
       | I was curious what's the situation for Colima. It like like fs
       | sharing is being discussed a lot over the years, but virtiofs
       | depends on Mac's virtualisation.framework and can't be used in
       | qemu currently. https://github.com/lima-
       | vm/lima/issues/20#issuecomment-10686...
       | 
       | Instead 9p experimental support got there a few days ago:
       | https://github.com/lima-vm/lima/issues/20#issuecomment-10660...
        
       | gigatexal wrote:
       | On Linux how is this done? Raw no virtio or anything?
        
         | hanikesn wrote:
         | On Linux you don't need Docker Desktop and and run docker
         | natively without any VMs. FS is managed via overlayfs which
         | provides near native performance.
        
       | emptysongglass wrote:
       | Canonical now offers one-command docker environments with
       | Multipass for those looking at alternatives:
       | https://ubuntu.com/blog/docker-on-mac-and-windows-multipass
        
       ___________________________________________________________________
       (page generated 2022-03-16 23:00 UTC)