The container platform Docker is now working natively on Apple’s new M1 hardware, with its Arm architecture. The software had to be rewritten for that platform; it was Dockers’ most requested new feature ever.
Docker already worked on Apple M1 hardware using Rosetta, the compatibility layer in macOS that translates between different instruction sets. However, this translation requires extra computing power, which makes it not a suitable permanent solution. That’s why the Docker company was working on a native version of Docker, the after multiple release candidates now one general availabilityrelease. That writes it in one blogpost.
Docker does not work flawlessly on M1 hardware yet. Rosetta 2 is still required because some binaries have not yet been resolved from the Darwin / AMD64 instruction set from which they originated. In addition, the makers of Docker containers themselves must also offer compatibility for Arm64, which is not always the case. A prominent example of this is mysql; that doesn’t work without emulating amd64 anyway. Docker proposes mariadb as an interim alternative.
The makers expect that the shortcomings of Docker itself and the containers will be remedied in the future. That and more notes are in the release notes.
Docker is a kind of virtualization program, but with a minimalist approach. A Docker image is a bundle of an application and all necessary libraries and dependencies, but not an operating system around it. The result is, among other things, less intensive use of disk space and computing power. Docker is available for Linux, Windows and macOS.
–