

When you install an old app, your Mac will examine the app and try to optimize it for your ARM processor. Apple is going to ship Rosetta 2, an emulation layer that lets you run old apps on new Macs. But its performances won’t be as good as what you’d get from a native ARM-ready app. If you’ve been using a Mac for a while, you know that Apple used the same process when it switched from PowerPC CPUs to Intel CPUs - one app, two executables.Īs for unoptimized software, you’ll still be able to run those apps. You can ship those apps with both executables using a new format called Universal 2. If you are a developer or if you run obscure enterprise apps, you may have a lot of questions about how it’s going to work.įirst, you’ll be able to compile your app to run both on Intel-based Macs and ARM-based Macs. In the future, the company is going to switch from Intel CPU to Apple’s own silicon, based on ARM architecture. We also recommend that you join the Docker Community Slack and ask questions in #docker-desktop-mac channel.Apple has announced a major shift for the Mac.
#ARM64 EMULATOR MAC FOR MAC#
Let us know your feedback by creating an issue in the Docker Desktop for Mac GitHub repository.

#ARM64 EMULATOR MAC UPDATE#
The build should update automatically to future versions.Inter-container HTTP and HTTPS traffic is now routed correctly.


In summary, running Intel-based containers on Arm-based machines should be regarded as “best effort” only. Even when the containers do run correctly under emulation, they will be slower and use more memory than the native equivalent. In addition, filesystem change notification APIs ( inotify) do not work under qemu emulation. However, attempts to run Intel-based containers on Apple Silicon machines under emulation can crash as qemu sometimes fails to run the container. You can work around this issue by using a mariadb image. In particular, the mysql image is not available for ARM64. You can add -platform linux/amd64 to run an Intel image under emulation. Not all images are available for ARM64 architecture. We expect to fix this in a future release.
