If you build a docker image on an ARM Mac OS with default settings it will happily run on Linux on ARM, the same for a Go app compiled with GOOS=“linux”, for example. Of course you can always fix the issues that pop up by also specifying the architecture, but people often forget, and in the case of docker it has significant performance penalties.