Docker reveals why its virtual machine isn't yet on Apple Silicon M1

Posted:
in General Discussion
Despite Docker being mentioned by Apple at the original Apple Silicon launch, there remain many steps needed to get it working on M1 machines -- but the company is working on it.

Credit: Apple
Credit: Apple


Apple knew that one concern about the move away from Intel was the impact on virtual PCs, so it made a point of mentioning one of them during the presentation. Now the makers of that software, Docker, confirm that is going to run on Apple Silicon, but says there are still several hurdles.

"Docker was excited to see new Macs feature Apple silicon and their M1 chip," said developer Ben De St Paer-Gotch in a blog post. "Our goal at Docker is to provide the same great experience on the new Macs as we do today for our millions of users on Docker Desktop for Mac, and to make this transition as seamless as possible."

"Building the right experience for our customers means getting quite a few things right before we push a release," he continues. "Although Apple has released Rosetta 2 to help move applications over to the new M1 chips, this does not get us all the way with Docker Desktop."

De St Paer-Gotch says that Apple's changes mean the company needs to move its "plumbing" to Apple's new hypervisor framework. And it also relies on software from other companies which are similarly still working to adapt to Apple Silicon.

"We rely on things like Go for the backend of Docker Desktop and Electron for the Docker Dashboard to view your Desktop content," he continued. "We know these projects are hard at work getting ready for M1 chips, and we are watching them closely."

The update from Docker comes after other virtualization software developers revealed their own plans. VMWare has similarly said that it will be bringing its software to the M1 Macs, but is "not quite ready to announce our timeline."

Parallels says that it has made "tremendous progress," and is "eager to try" the new app on M1 machines.

Comments

  • Reply 1 of 14
    Once parallels is ready, at least you should be able to run Docker inside Linux, inside Parallels. I’m sure they started working on this back at WWDC. Docker is used by a lot of Mac users.
    watto_cobra
  • Reply 2 of 14
    dewmedewme Posts: 4,395member
    Interesting. I keyed in on the mention of Electron. Is there a problem running Electron apps on Big Sur? Anyone using Slack, Visual Studio Code, or their own node.js apps having problems on M1 Macs? 
    watto_cobra
  • Reply 3 of 14
    Electron apps are a fscking plague. It’s shameful that the very people who should care most about quality apps — developers — have embraced this hacky platform.

    that said, I haven’t heard of any issues with Electron running on M1, I’m sure it’s the least of Docker’s concerns. 

    This news had me wondering why Apple didn’t open a lab at Infinite Loop where a couple Docker developers would have highly secure access to a couple M1 machines over the past year to get this work done — Docker is very, very important software for devs — but then I remembered COVID. 

    Bad news for guys like me… I won’t be able to fully transition my work until this is sorted out. 
    edited November 2020 watto_cobra
  • Reply 4 of 14
    Even worse — Homebrew's package support is very, very spotty. This makes M1 Macs a deal-breaker for any serious web or backend developer until at least next summer.
    bala1234watto_cobra
  • Reply 5 of 14
    dewme said:
    Interesting. I keyed in on the mention of Electron. Is there a problem running Electron apps on Big Sur? Anyone using Slack, Visual Studio Code, or their own node.js apps having problems on M1 Macs? 
    (incidentally, Slack, VSCode, and my Node stuff is all running fine on Intel Big Sur. If Slack couldn't run on M1 Big Sur we'd sure as hell have heard about it by now.)
    dewmewatto_cobra
  • Reply 6 of 14
    dewmedewme Posts: 4,395member
    Eric_WVGG said:
    Electron apps are a fscking plague. It’s shameful that the very people who should care most about quality apps — developers — have embraced this hacky platform.

    that said, I haven’t heard of any issues with Electron running on M1, I’m sure it’s the smallest of Dockers concerns. 

    This news had me wondering why Apple didn’t open a lab at Infinite Loop where a couple Docker developers would have highly secure access to a couple M1 machines over the past year to get this work done — Docker is very, very important software for devs — but then I remembered COVID. 

    Bad news for guys like me… I won’t be able to fully transition my work until this is sorted out. 
    Electron fills a niche for getting "good enough" apps that can be developed and deployed across multiple desktop platforms from a single code base. I don't think anyone views it as a nirvana solution that's appropriate for every target, especially if you want to take advantage of native capabilities of the target platform. It's popular because it fills a need, but yeah, it's not perfect. Sometimes good enough is good enough.

    So what would you suggest as an alternative to Electron, that has good enough and has affordable development tools that run on both Mac and Windows (and ideally Linux) and can target rich-UI desktop apps on Mac, Window, and Linux? Xcode, Visual Studio for Mac, and Xamarin aren't targeting cross-platform desktop apps, Cordova is no better than Electron, Unity is too game centric, MonoDevelop is somewhat abandoned, and Qt is very expensive from a licensing standpoint. Yeah yeah, I know that C/C++ is effectively "universal" and platform agnostic at some level but that level does not include much of anything at the UI layer. For services and components that'll be deployed inside other containers or platform specific wrapper, I love C++, but good luck finding really good C++ programmers. Mediocre C++ programmers are a disaster.

    So what's the plaque-free alternative to Electron? I'm not being facetious, I'm not in love with Electron either, but at least for personal/hobby projects (spending my own money) I haven't found other alternatives that meet the cross platform dev/deploy criteria and don't want to lock into proprietary toolsets or runtimes. 
    edited November 2020 doozydozen
  • Reply 7 of 14
    Eric_WVGG said:
    Even worse — Homebrew's package support is very, very spotty. This makes M1 Macs a deal-breaker for any serious web or backend developer until at least next summer.
    As long as docker works I’ll manage to live without brew till the summer - I’m keeping my Intel Mac until docker is fully supported 

    that being said m1 MacBook Pro out for delivery here in the Netherlands. Edit: I’ve been subscribed to the GitHub thread for homebrew and there’s tons of progress daily. You can expect all major stuff a pro web dev would use to be available very soon
    edited November 2020 dewmewatto_cobra
  • Reply 8 of 14
    dewme said:
    Eric_WVGG said:
    Electron apps are a fscking plague. It’s shameful that the very people who should care most about quality apps — developers — have embraced this hacky platform.
    Electron fills a niche for getting "good enough"… So what's the plaque-free alternative to Electron? I'm not being facetious, I'm not in love with Electron either, but at least for personal/hobby projects (spending my own money) I haven't found other alternatives that meet the cross platform dev/deploy criteria and don't want to lock into proprietary toolsets or runtimes. 
    I really have no problem with Electron for personally/hobby projects. I wouldn't even mind if something like Twitter was built with it, I could just use the website if it bothered me.

    The problem is when Electron is used for important, "mission-critical" stuff. I spend most of my day in Visual Studio Code and the remainder in Slack. The performance of particularly the latter is notoriously bad. All of the gains in CPU power over the past ten years (not just this new M1 stuff) thrown away, the advantages of UIKit and SwiftUI completely ignored. Even without an M1 processor my Mac should be unbelievably fast, instead it's blowing fans and chewing up the battery so I can run web apps. 

    Today I made the decision to move from VSCode to Panic’s Nova, incidentally. A breath of fresh air, a real Mac-assed app.

    One last example — Authy, the multi-factor auth app. Not only were the folks at Twilio too lazy to make a native Mac version, they didn't even bother making a desktop UI. It's just the iPhone UI running on the desktop. It's terrible. Fortunately I just learned that 1Password has an MFA feature that I somehow overlooked, so I'm busy converting all my accounts over… but god, what a crap implementation of a fairly vital function.
    focherwatto_cobra
  • Reply 9 of 14
    Once parallels is ready, at least you should be able to run Docker inside Linux, inside Parallels. I’m sure they started working on this back at WWDC. Docker is used by a lot of Mac users.
    Docker will almost certainly be done prior to Parallels. Based on that blurb above, Parallels hasn't even figured out the new hypervisor code for M1 Macs yet.
  • Reply 10 of 14
    Eric_WVGG said:

    This news had me wondering why Apple didn’t open a lab at Infinite Loop where a couple Docker developers would have highly secure access to a couple M1 machines over the past year to get this work done — Docker is very, very important software for devs — but then I remembered COVID. 
    Based on the article above, the issue isn't with the Docker stuff - which is mostly ready to go - but rather that Docker requires a lot of dependencies that aren't available yet. Really, expecting anything but the first party stuff (Apple applications) as well as the third party stuff from major vendors who supply mostly self-contained code (Microsoft, Adobe) to be ready to go this soon was going to be unrealistic. Remember that Docker, Inc. despite its $1 billion valuation is a very small company (500 people!) and that Docker is still fundamentally a Linux-based, open source product. While the people at Docker absolutely love Apple and Macs, there are going to be limits as to how fast companies like Docker are going to be able to handle transitions like this. 
  • Reply 11 of 14
    focherfocher Posts: 687member
    Count me in for having an issue with Electron when it is the lazy go to for some big names. I understand smaller developers wanting to have a bigger market across platforms, and something like Electron helps them. But Slack? Seriously, they can afford the engineering and development resources to support Windows, MacOS, Linux, Android, and iOS natively. They’re just being lazy and cheap, and Slack is just one example.
    edited November 2020 watto_cobra
  • Reply 12 of 14
    Eric_WVGG said:
    Electron apps are a fscking plague. It’s shameful that the very people who should care most about quality apps — developers — have embraced this hacky platform.

    that said, I haven’t heard of any issues with Electron running on M1, I’m sure it’s the least of Docker’s concerns. 

    This news had me wondering why Apple didn’t open a lab at Infinite Loop where a couple Docker developers would have highly secure access to a couple M1 machines over the past year to get this work done — Docker is very, very important software for devs — but then I remembered COVID. 

    Bad news for guys like me… I won’t be able to fully transition my work until this is sorted out. 
    Agreed on Electron... pile of *@&#^... but you have a bunch of web hackers (very, very few folks building for web-based technology could be call software developers or engineers) can't build on anything else so they bake another layer on the crap lasagna and create resource/battery sucking apps that are filled with wonk (and yes I've worked with Electron).
    edited November 2020 watto_cobra
  • Reply 13 of 14
    dewmedewme Posts: 4,395member
    Eric_WVGG said:
    dewme said:
    Eric_WVGG said:
    Electron apps are a fscking plague. It’s shameful that the very people who should care most about quality apps — developers — have embraced this hacky platform.
    Electron fills a niche for getting "good enough"… So what's the plaque-free alternative to Electron? I'm not being facetious, I'm not in love with Electron either, but at least for personal/hobby projects (spending my own money) I haven't found other alternatives that meet the cross platform dev/deploy criteria and don't want to lock into proprietary toolsets or runtimes. 
    I really have no problem with Electron for personally/hobby projects. I wouldn't even mind if something like Twitter was built with it, I could just use the website if it bothered me.

    The problem is when Electron is used for important, "mission-critical" stuff. I spend most of my day in Visual Studio Code and the remainder in Slack. The performance of particularly the latter is notoriously bad. All of the gains in CPU power over the past ten years (not just this new M1 stuff) thrown away, the advantages of UIKit and SwiftUI completely ignored. Even without an M1 processor my Mac should be unbelievably fast, instead it's blowing fans and chewing up the battery so I can run web apps. 

    Today I made the decision to move from VSCode to Panic’s Nova, incidentally. A breath of fresh air, a real Mac-assed app.

    One last example — Authy, the multi-factor auth app. Not only were the folks at Twilio too lazy to make a native Mac version, they didn't even bother making a desktop UI. It's just the iPhone UI running on the desktop. It's terrible. Fortunately I just learned that 1Password has an MFA feature that I somehow overlooked, so I'm busy converting all my accounts over… but god, what a crap implementation of a fairly vital function.
    You've basically agreed with my assertions. Yes, targeting the native platform is always the best solution. Only having one platform to worry about is a dream scenario, as long as you enjoy working on the platform you're tied to. But there is a niche that Electron fills and even if that niche does not include critical or line of business apps, Electron is good enough for VS Code, Atom, and some select utilities and home grown tools and utilities.  

    No, I wouldn't even mention Electron or node.js on the same planet as Swift/UIKit/SwiftUI on the Mac or C#/.NET/WPF on Windows. 

    Hey, at least nobody is mentioning JavaFX ...  
    watto_cobra
  • Reply 14 of 14
    I prefer the browser version of Slack. That’s saying something. 
    watto_cobra
Sign In or Register to comment.