

Many Docker images including those used by the example application are Intel specific.ĭocker Desktop for Mac uses QEMU to run Intel-based images on ARM.īut sadly, the emulation is less than perfect. The problem is that Docker images are not inherently portable across multiple architectures. On the one hand, it is an energy efficient, high-performance architecture.īut on the other hand, it’s a new entrant into the world of server-side development, which has been traditionally been dominated by Intel. It turns out that Apple M1 ARM-based architecture is a double edged sword. Not all Docker images run (well) on the M1 MacBook Part 11 - The Eventuate Tram Customers and Orders example now runs on Arm/M1 MacBook!!.



Part 2 - Building multi-architecture Docker images for Intel and ARM.This is the first of series of posts that describe what I needed to do to run the application successfully. Sadly, running this application on my shiny new MacBook wasn’t straightforward due to problems running Docker containers. I couldn’t wait to start using it for development so I tried running the Eventuate Tram Customers and Orders example application, which illustrates how to use the Sagas and CQRS patterns to implement operations that span multiple services. Recently, I was excited to buy an Apple M1 MacBook: lots of cores and memory. My Apple M1 MacBook: lots of cores, memory and crashing containers
