23 ms·
Docker fails to launch on Apple Silicon
- fxtentacle 6y agoIf ARM servers take over, then running ARM docker natively on M1 could be helpful ... ... but for the current state where ARM-compatible images make up roughly 1% of Docker Hub, I don't even see the point of wanting to use Docker on M1.
- augusto-moura 6y agoI think you can still use docker x86 images on virtualization mode
- wmf 6y agoNo, I've seen no evidence of this. Docker Desktop does not work [on Apple Silicon] in any form today.
- augusto-moura 6y agoOn ARM in general or with Apple Silicon? The problem with Apple is that processor doesn't supports virtualization mode yet AFAIK
- wmf 6y agoDocker Desktop does not work on Apple Silicon. The M1 processor does support virtualization; just wait for Docker to finish their port.
- my123 6y agoOr start a regular Linux VM and run Docker inside instead of using the wrapper.
- postalrat 6y agoDocker doesn't let you run x86 binaries on arm without emulation.
- xarbit 6y agowell, evidence would be something like this: https://ish.app https://ish.app
- frant-hartm 6y agoBut that's because it was such a niche until just recently - basically only playing with docker/k8 on Raspberry PI and the likes. With AWS Graviton instances and these new Macs it will quickly change.
- threeseed 6y agoARM servers will take over you just probably won't know it. AWS is in the process of moving all of their managed services e.g. RDS, ElasticCache over to their Graviton platform.
- bengale 6y agoGraviton2 is looking really compelling in our tests. At this point we plan to migrate all of our instances over the next year and we’re going to want arm machines locally to develop with. It’s starting to come together.
- etaioinshrdlu 6y agoI think Docker for Mac should just use x86 emulation for the time being -- apparently the new Apple chips don't support virtualization? x86 emulation gives access to most available Docker images anyways -- and the performance of the new CPUs would seems to indicate that emulation may not be so terrible, at least for the short term.
- wmf 6y agoThe M1 does support virtualization. Parallels is already working. I don't know how long it will take to get HyperKit working on Apple Silicon. QEMU would allow running x86 images on Apple Silicon but I don't know if the performance would be acceptable. You can't use Rosetta 2 with Linux no matter how much you might like to.
- saagarjha 6y agoIt's kind of really bad because it doesn't get to use Rosetta's kernel support for enabling strict memory ordering.
- gumby 6y agoEDIT: I don't know about the hardware but their license change, as mentioned by saurian below, didn't add support for this as I had thought and had written in my original comment.
- saurik 6y agoI thought MacStadium just released a blog post--which was on Hacker News--going into detail on the exact opposite: that now Apple has made it very clear that not only can you not provide shared hosting (as you must lease the device to the user in its entirety) but you can't even lease it in less than 24 hour increments (which to me is a kind of ridiculous overreach on what it means to own something; imagine if Toyota sold a car and said "the infotainment unit runs a bunch of software and the license on it prevents ride sharing or per-hour rentals").
- 6y ago
- coldcode 6y agoThe first AS Macs are targeted at people who don't need things like docker. Eventually all the support needed will be available. It's a two year transition, you have to start somewhere.
- purephase 6y agoStill worth sharing so that people are aware. I was in the market for these machines and holding on until their release, but I started going through my tools to see what was supported or not, and no docker is a no-go for me.
- spzb 6y agoThat's what I'd assumed too which is why a M1 Macbook Pro was a bit of a surprise.
- throw_away 6y agoIf the benchmarks from the other front-page post are true, then not releasing a MBP version would have left them in a position where the AS MBA outperforms their entire MBP line.
- simonh 6y agoYep, but due to the new high speed on-package RAM architecture they couldn’t support more than 16GB RAM, so couldn’t retire even the 13” Intel MPBs because some people need the RAM. It all makes sense.
- ilikepi 6y agoIt's the lower tier MBP though - it replaces the "two port" one. The "four port" one is still Intel.
- petercooper 6y agoI was also surprised, but consider that "Pro" to Apple means photographers, video editors, musicians, etc. just as much as (or perhaps more than) developers.
- qz2 6y ago"Not yet. The OS has the virtualisation functions, but the Apple chips don't have virtualisation support yet." This is strangely a really big selling point for me as a habit breaker. I spent a good part of the release evening whining about the pitiful memory and the cost of the devices but I am regretting that on reflection. Why? Well I just spent two days arguing with problems with Microsoft's fucked up shit show of mixed platform Windows containers and Docker which ultimately ended up in a completely hosed OS install. Every time I use some heavily marketed stack it turns into this mess eventually if not right away. My conclusion is doing this on my main computer i.e. my portal to the universe is a functional risk so I'd rather do it somewhere completely different i.e. on a desktop PC hidden away somewhere or Amazon where I can nuke the whole universe and start again without losing access to essential services etc. So perhaps I don't need a virtualization equipped CPU after all for my computer? Forcing my hand in that direction may be a net gain.
- deleted 6y ago[deleted]
- ogre_codes 6y agoFWIW, that comment was referencing the A12Z in the DTK, not the M1 CPU. It's less clear where the M1 sits on this issue and whether Docker can be ported.
- d33lio 6y agoWell yeah, no shit. It's bleeding edge new tech that other than the A12x hasn't been available for more than a few months... And I'd argue apple arm silicon is going to be a tectonic industry shift.
- ogre_codes 6y agoThis link is a little confusing because the top comment and much of the conversation is talking about the DTK which was based on the much older A12X CPU and not the M1. As far as I can tell, the M1 does have virtualization support, Docker just isn't ported yet. Update: Also, from Apple docs it seems like you won't be able to run emulation and virtualization in the same process. So you can run x86 Mac apps, but it's likely x86 Docker images will be out-of-reach.
- terhechte 6y agoAlso, it seems Apple demoed Docker on Apple Silicon at WWDC: https://twitter.com/0xtim/status/1326980313160032256?s=21 https://twitter.com/0xtim/status/1326980313160032256?s=21
- ogre_codes 6y agoI know they demoed Linux virtualization at WWDC, but I don't recall Docker. I could easily be mistaken though.
- arilotter 6y agoThey specifically mentioned it by name in the keynote, and even have a screenshot of it running on Big Sur. https://www.youtube.com/watch?v=GEZhD3J89ZE&t=6006 https://www.youtube.com/watch?v=GEZhD3J89ZE&t=6006 (1:40:06) if the timestamp doesn't work
- 1over137 6y agoYes, but it was ARM up and down, no x86 at all.
- hinkley 6y agoI think we made couple of expedient design decisions early on in our build process at work that is going to make producing multi-platform docker images a bit of a chore. I'm not looking forward to what happens on the next machine upgrade cycle. Probably we will end up with most people on the final generation of Intel Macbooks so we have a while to figure it out.
- BluSyn 6y agoSlightly mis-leading headline. The DTK w/ A12Z chip didn't support virtualization, but it appears the new M1 will. Since docker devs haven't gotten their hands on M1 hardware yet, it remains to be seen how much work is needed to make it functional. It may just work out of the box?
- saagarjha 6y agoThe APIs are somewhat different, so it won't "just work", but it shouldn't be too hard to make it happen.
- shiado 6y agoI'm actually tempted to get one of the new Macbook Airs. There's something intriguing and fun about navigating the brokenness of a new ecosystem. Does anybody know how Steam handles the new macs?
- arthurcolle 6y ago> intriguing and fun ఠ_ఠ
- syas 6y agoThat’s why I got the Pro (also my laptop is from 2013 and I’m desperate). I love and use Docker every day, and know it’s a mess right now, but I’m still excited to jump in head first. Edit: This is my personal laptop fwiw. My work one is still Intel.
- hammock 6y agoWhat is the difference between the M1 Air and the M1 Pro 13"? From what I can tell, they are basically the same spec except for small differences like slightly bigger battery life, active cooling and touchbar in the Pro. Is that worth $300, for a larger form factor?
- threeseed 6y ago400 nits versus 500 nits brightness is another minor difference.
- AgloeDreams 6y agoForm factor is similar. Brightness is better as stated. I believe you get better speakers in the Pro, the charger is higher wattage and the GPU in the high end air and Pro is 8 cores while the GPU on the base Air is 7 cores.
- soneil 6y agoThe Air is passively cooled, so the theory is it won't sustain higher workloads for as long as the Pro should be able to. From what we know right now - same processor, different thermal envelope.
- gigatexal 6y agoLots of bellyaching about nothing. Just give the hardware time to get into hands of people and eventually things will shake out.
- pstadler 6y agoNo idea why you got downvoted, because you're right.
- syrusakbary 6y agoPerhaps is time to stop virtualizing to run containerized software! Someone said WebAssembly? :P
- sp332 6y agoHere we go... Boot your container host in the browser! https://copy.sh/v86/?profile=archlinux https://copy.sh/v86/?profile=archlinux
- jrockway 6y agoDocker for Mac is a Linux VM with some tools to glue your Mac to that VM. It gives you the illusion that your Mac is running containers, but it's not -- Linux containers are a Linux thing. Some virtualization is going to be necessary unless your host OS is Linux. One could argue that maybe MacOS should somehow run the Linux kernel. Windows tried that as WSLv1 and it didn't work that well; WSLv2 just uses a VM. The net impact of this is not particularly high. I always write my apps so that they can run on the local machine, and just have my CI system put them in Docker images for deployment. But, that does require some effort, and some language ecosystems or applications make this nearly impossible (relying on details like case-insensitive filenames, OS quirks, etc.)... so people just develop inside a container to work around that. (I would never tolerate it, but it can work OK for things like PHP where your edits take effect in the running container without having to rebuild anything.)
- 6y ago
- willejs 6y agoIs it going to be interesting to see how new Apple machines running ARM based processors plays out. Writing code, and building docker images locally on ARM and building and running the same code on X86 in production could potentially, in some circumstances cause some issues. If not, it's a bit of a pain to potentially build and publish x86 and ARM images so that people can run them anywhere (Some projects are already doing this). Running production on ARM could work if you wanted to, but right now the instance types are very restricted in terms of different combinations of cpu/disk/io.
- shams93 6y agoI wonder if this will drive z move to deploy on arm based cloud instances like aws has arm based vms for ec2
- pmart123 6y agoIt seems like it very well could. It probably won't be power users, but perhaps, it is the start of more arm based deployments.
- umvi 6y ago> building docker images locally on ARM and running it on X86 in production could potentially, in some circumstances cause some issues. Won't it always cause issues? If you build locally you are packaging ARM binaries in zfs which won't run on x86... unless you somehow signal to docker that you want a different arch when building
- outworlder 6y ago"Somehow". That's exactly what you have to do. Build multi-arch containers with docker buildx.
- kall 6y agoI assume (but don‘t know) that most workflows build the deployed docker image in some kind of CI service. Is that not true?
- freetime2 6y agoI will not be buying one of these first generation M1 devices because of issues like this. But in the long term I actually think it’s going to be a really good thing for the industry if we can get more developers using non-x86 devices and deploying code to non-x86 servers.
- wiredfool 6y agoThe entire thread is about the developers toolkit hardware, which didn’t have hardware support for virtualization. Obviously they done have access to the shipping m1 devices yet, which are supposed to have the hardware support.
- ogre_codes 6y ago> I will not be buying one of these first generation M1 devices because of issues like this. It is always a bit of a gamble to be on the bleeding edge with your production machine!
- mhh__ 6y agoHaving people working on fast ARM machines will be good, although I do worry that apple will be apple and you'll never be able to run (say) Linux on said ARM chips. I used to be fairly laissez-faire about it but now I really think it should be legally required for at least some level of freedom for the end users to be supported (technologically rather than as in customer service) by big tech companies selling hardware
- ForHackernews 6y agoWait, you can't install a non MacOS on these things? Are they basically an iPad in a notebook form factor?
- damnencryption 6y agoWhat's a computer? iPad. People aren't laughing now, are they?
- 6y ago
- hikerclimber 6y agogood.
- sam0x17 6y agoI'm sure plenty of people are saying this but I'm really glad I switched back to Ubuntu about a year ago. The state of non-apple-centric developer tools and environments on macos has been in crazy flux and disrepair since Catalina hit. Feeling real bad for the people who just bought new macbooks only to find docker won't work and so they can't deploy their web app.
- mlindner 6y agoThe issue was posted in August, not with current released hardware. Please can we tag this.
- moondev 6y agoScreenshot of Docker for Mac control panel during the WWDC demo. It even shows some containers running. https://i.imgur.com/bQb1grM.png https://i.imgur.com/bQb1grM.png Pretty misleading to include it in the demo if Docker for Mac still doesn't launch next week right?
- Shank 6y ago> Pretty misleading to include it in the demo if Docker for Mac still doesn't launch next week right? The M1 hardware hasn't shipped yet. Presumably this criticism is only valid if the hardware has shipped, which it has not. If Apple did indeed have a lot of involvement porting Docker, my assumption is that they'll release that with the machines next week (November 17, 2020), as opposed to before the hardware is generally available.
- paxys 6y agoWhy is this even a discussion? There are thousands of applications that don't (yet) work on Apple Silicon. When the hardware actually releases the software will be slowly ported over to it.
- saagarjha 6y agoActually, most things tend to work.
- redvenom 6y agoIt seems to be a trend these days that if something doesn't work right, people take to the public internet in the hopes that it will be fixed faster. I've seen this tactic on internet forums with products, after which companies often contact the reviewer of said products to make things right.
- josephcsible 6y agoBecause Apple would like us to believe that Rosetta is a panacea that makes everything work.
- robertoandred 6y agoThey've detailed explicitly what won't work with Rosetta.
- josephcsible 6y agohttps://www.apple.com/mac/m1/ https://www.apple.com/mac/m1/ doesn't mention anything about what doesn't work with it. It just says "With the introduction of Rosetta 2, M1 and macOS Big Sur seamlessly run apps that haven’t yet transitioned to Universal versions." The details about what won't work are in the developer documentation, which most people who buy Macs don't read.
- X-Istence 6y agoMost people who buy Macs won't use Docker either, or even know what it is.
- yabones 6y agoHas there been any word on third-party OS support for the new AS macs? Not just so geeks can run Gentoo on them, but also for corporate customers to virtualize MacOS. I know some fellows who run ESXi/Vcenter on clusters of Minis to run multiple versions of MacOS for QA.
- deleted 6y ago[deleted]
- ibraheemdev 6y agoFor other apps compatibility with Apple Silicon, see: Does it ARM? https://news.ycombinator.com/item?id=25075458 https://news.ycombinator.com/item?id=25075458
- DCKing 6y agoWhile Docker support will surely come, this thread does give me the feeling that Docker on Apple Silicon Macs will take at least several more months still to be released. I would have expected Apple to be far more proactive in working with Docker, Inc., especially considering they namedropped Docker specifically at the WWDC Apple Silicon announcement. Apple has supplied virtualization capable hardware to certain developers - Parallels certainly - so it's strange to see that Docker seems to have had to sit on their hands until now? I certainly would have expected a Docker release a lot closer to hardware availability. The fact that a stable golang for Apple Silicon likely won't be out until February is not a great look either. That blocks Docker but a lot of other things also. I mean, you should expect a lot of startup issues when moving to a new ISA, but it seems Apple could have done a lot more here.
- sneak 6y agoA big part of this is that Docker Desktop is not open source/free software: it's closed and proprietary, so you're at the mercy of Apple/Docker to fix it. (Additionally, it's terrible spyware, and sends ridiculous amounts of data back to Docker about your system, including network pcap logs(!).)
- olliej 6y agoThe DTK notes stated explicitly that virtualization was not supported, and equally explicitly that release hardware would support it. Just the DTK said explicitly that 4k pages were not supported under rosetta but would be by release - that's what broke chrome and apps that are just glorified copies of chrome.
- monkpit 6y agoThe comments on the GitHub issue are a dumpster fire.
- deleted 6y ago[deleted]
- carlsborg 6y ago"At its 2020 Worldwide Developers Conference, Apple announced a non-commercial prototype computer called "Developer Transition Kit" (DTK).[1] It is intended to assist software developers during the transition of the Macintosh platform to the ARM architecture. Described informally as "an iPad in a Mac mini’s body,"[2] the DTK carries a model number of A2330 and identifies itself as "Apple Development Platform."[3][4] It consists of an A12Z processor, 16 GB RAM, 512 GB SSD, and a variety of common I/O ports (USB-C, USB-A, HDMI 2.0, and Gigabit Ethernet) in a Mac mini case" "..Even that DTK hardware, which is running on an existing iPad chip that we don’t intend to put in a Mac in the future – it’s just there for the transition – the Mac runs awfully nice on that system. It’s not a basis on which to judge future Macs ... but it gives you a sense of what our silicon team can do when they’re not even trying – and they’re going to be trying." - Apple SVP https://en.wikipedia.org/wiki/Developer_Transition_Kit_(2020) https://en.wikipedia.org/wiki/Developer_Transition_Kit_(2020... "The Apple A12Z Bionic is a 64-bit ARM-based system on a chip (SoC) designed by Apple Inc.The chip was unveiled on March 18, 2020, as part of a press release for the iPad Pro (2020), the first device to use it.[1] Apple officials touted the chip as faster than most Windows laptops of the time. https://en.wikipedia.org/wiki/Apple_A12Z https://en.wikipedia.org/wiki/Apple_A12Z HTH
- kzrdude 6y agoApple Silicon is all the hype now. And I'm on the train. Does anyone have a good blog post to explain what the new architecture is, how it works, what's it's status right now and so on?
- emersonrsantos 6y agoGet over it, it’s another architecture which is incompatible with x86/x64.
- netcraft 6y agoOT, but im curious if one could design a system that had multiple kinds of processors? like for instance an x86 and as well as an ARM? I'm imagining the OS would use one or the other but it could use the right processor based on the kind of application being executed, but also choose to use one that is under utilized through emulation if necessary. I suppose we do something like this when it comes to CPUs and GPUs already.
- svrb 6y agoIt doesn't really make sense. Different memory models mean that you'd have to be running two separate OSes, not some kind of unified OS. At most they could try to cooperate over some shared channel to transfer resources back and forth. Certainly not applications But now what you're talking about is two computers communicating over what could just as well be IP, which happen to be in the same box. Not terribly useful.
- netcraft 6y agothanks for the insight, makes sense.
- GiorgioG 6y agoApple can keep their silicon - and their shitty OCSP security checks. As the Apple laptops / iMacs die or become obsolete in my house, they'll being replaced by PCs. Let's not pretend that this is some pro-consumer move. I would actively avoid implementing Docker on Apple Silicon, at some point Apple will close the macOS ecosystem and you won't be able to use Docker anyhow.
- moondev 6y agoIf silicon flops I wonder how long they will drag it out before converting back?
- AntiImperialist 6y agoIt will be interesting to see how they do it. As far as I understand, the current Docker Desktop for macOS runs a Linux VM and the docker server and binaries run in that while the client runs natively on macOS. Running it in a VM is bad enough. If they also had to run the VM in the Intel emulator (Rosetta 2), it could be unusable, performance-wise. If they developed a macOS subsystem for Linux (like the WSL on Windows) and ran that on Rosetta 2, I can imagine it being faster. Slightly off-topic: I just realized that they're actually calling it Apple Silicon. I find that name very cringey for some reason.
- londons_explore 6y agoLooks possible that Apple has internally written patches to docker to get it running on the M1 based machines. I could imagine NDA's might apply, which is why docker devs don't appear worried about it. I guess they're planning on upstreaming those patches when the hardware is released.
- mistercorea 6y agosigh apple is always behind, this is like a dejavu from Microsoft ARM surface tablets/laptops... hopefully this time apple got it right.
- mistercorea 6y agoThis is like dejavu from Microsofts ARM version of laptop / tablet. hopefully Apple got it right.. and maybe we can get away from x86 platform or Intel and AMD will step up on their games.
- skoczko 6y agoI've been holding off on upgrading my MBP13 for a few years now because Apple was painfully slow to refresh it. I was ready to order the model that came out in May (with 32GB RAM) but then the rumour about ARM hit the internets so I kept waiting. Now (I guess always?), it's clear that Apple Silicon is not going to be a comfortable dev environment, at lest not for some and not for a while. JDK macos/aarch64 port is still in dev and so is VS Code. Docker support is probably months away (looking at their roadmap no dev has even started) and when it arrives it's almost certain to be limited to ARM linux images. Still, hanging on to x86 on a Mac seems like a lost cause and I wonder if I should just change my approach. Rather than getting a beefy MBP, get the cheaper Air with M1 and a powerful MiniPC (NUC or similar) with native Linux. VS Code has a Remote Development (over SSH) feature, has anyone used it? Can it be combined with Docker (on Linux) in a seamless setup where the Air runs VS.Code and all devel happens on the MiniPC through remote coding? Is this setup going to work when VS Code macos/aarch64 is out or is there something else one needs to wait for?
- 654wak654 6y agoI haven't used it with docker, but the remote development feature of VS Code is surprisingly good. You don't feel like anything is missing or slow compared to running on your own machine.
- qaq 6y agoOn twitter one of the Docker Eng. posted that they are at present working on docker support for Apple Silicon (sorry did not bookmark it so can't provide a link)
- panpanna 6y agoAll this trouble so you can stay with apple? Unless you are an ios dev, why??
- pentae 6y agoMacOS, is usually the answer.
- pvtmert 6y agoI really don't understand why is this fuss. TBH docker-on-mac is not that good. That is why I've most minimal config and just using to have some 'linux' time to time. What I use is `docker context` command or DOCKER_HOST=ssh://user@host pattern. env-var is more convenient for 'ephemeral' hosts. (It uses your own SSH-key to connect to host) And for static hosts (like staging machines) I use context. Plus it uses native SSH client, so it supports ProxyJump or JumpServer or Bastion Host, forwarding, session-reuse, YubiKeys & whatnot. So, I'd rather to have client on my laptop, having 1 or 2 medium sized hosts in Digitalocean, AWS, whatever place. (Some providers even gives you docker hosts with ssh access, like civo.com - disclaimer: I just started using them last weekend...) PS: You cannot 'mount' your local folder to remote host. But you can 'build' your local folder on remote host. (Thanks to BuildKit / DOCKER_BUILDKIT=1) Edit: I remembered that I've installed (compiled actually) docker-cli to my Android phone using Termux. You can't run daemon at all. The client gives some warnings at the start saying some things not right. But it works with those methods & variables... Hint: $ go get -u -v github.com/docker/cli/cmd/docker # profit...
- ithkuil 6y agoDocker for mac is slow that's true, but seamless filesystem and network forwarding means that exactly the same instructions work for linux and mac team mates
- jillesvangurp 6y agodocker is part of the workflow of a lot teams. Simply not optional for a lot of backend teams to have it around. The mac version is not perfect but I've used it for years without major headaches. I regularly run all sorts of middleware, build tooling, etc. using it.
- pvtmert 6y agoOne of the most forgotten thing is filesystem in macOS is case-insensitive while Linux it's case sensitive. Creates lots of headaches with mounted volumes (local vs staging, prod etc)
- lifty 6y ago
- penguin_booze 6y agoI'm a bit lost. I was under the impression that Docker (and containerisation in general) works based on kernel namespaces, which, IIUC, is a way to instantiating distinct subsystems in the kernel, on demand. What does hardware support for virtualization have to do with it? I mean, for VMWare or VirtuaBox, yes, I can imagine; but does that matter for Docker? Can someone explain?
- poisonta 6y agouh oh
- dotdi 6y agoJust my 2 cents regarding this: I've already stopped using Docker directly on my MBP15 (2017, 2.8GHz i7). It reserves a huge chunk of disk and RAM. Running anything non-trivial (e.g. k3d and a few pods) led to a very noticeable slowdown. My fan was noisy all day. Instead I purchased (for a very, very modest amount of money) a decommissioned rack server with a dual Xeons (2*8=16C/32T) and 64GB of DDR3 RAM. It's on my local gigabit network. I docker-machine into it. The hardware is obviously older but build times are in the same ballpark. I'm holding out for the 16" ARM MacBook Pro but I'll probably pull the trigger when it's released.
- folmar 6y agoIt nice, but the old servers use a _lot_ of electricity and the single-core performance might be a killer.
- _alex_ 6y agothread goes from people being confused that the DTK isn't the same as the release hw, to someone complaining abut docker desktop spying on you, to arguing about whether or not you should test server software on your mac. I feel bad for people subscribed to that thread that care about the actual issue (wanting docker desktop to run on m1)
- samgranieri 6y agoAs always, it's prudent to wait a bit new Apple products to mature before jumping in when there's a chip transition going on. Also, in general.
- throwawaymanbot 6y agowhat a Big Sur-prise. What ever happened to things just work?