Docker : un chemin délicat vers Apple Silicon

Apple Silicon Docker

Disponibilité globale actée pour Docker sur Apple Silicon. Tout n’est pas encore réuni pour exploiter au mieux ce portage.

Docker, désormais suffisamment mature pour un usage en prod sur les Mac M1 ? Il vient en tout cas de passer en phase de disponibilité globale, après quatre mois d’expérimentation*.

Cette version « native » ne l’est en fait pas totalement. Plusieurs binaires restent au format AMD64. Ce qui requiert la surcouche d’émulation Rosetta 2.

Autre élément à prendre en compte : certaines images ne sont pas disponibles pour Arm. MySQL en fait partie. Solution préférentielle, selon Docker : utiliser, à la place, MariaDB.

De manière générale, il est tout à fait possible d’utiliser des images x64 – dont celle de MySQL. Mais le résultat n’est pas garanti. QEMU peut effectivement échouer à exécuter certains conteneurs. La vidéo ci-dessous l’illustre avec Jenkins – qui n’a toujours pas d’image Arm à l’heure actuelle.

Des API demeurent par ailleurs non fonctionnelles sur QEMU. Par exemple inotify, qui fournit des informations sur le système de fichiers.

Ces problèmes devraient s’estomper à mesure qu’émergeront des images multiarchitectures. Docker a développé l’outil buildx à cet effet.

Mozilla aussi a gardé un peu de x64 dans son portage de Firefox. En l’occurrence, pour les modules de décodage multimédia, isolés et exécutés sur Rosetta 2. La fondation a opté pour la même implémentation avec Windows sur Arm.

Firefox fonctionne officiellement sur Apple Silicon depuis sa version 84, lancée mi-décembre 2020.
Le cercle des navigateurs compatibles s’est récemment élargi avec Opera (version 75). Tous logiciels confondus, les derniers grands noms à avoir rejoint la liste de « Does it ARM ? » sont Premiere Rush (1.5.58), Parallels Desktop (16) et Avast (14.9).

* Cette disponibilité globale concerne le pack Docker Desktop. Qui comprend Docker Engine, Docker CLI, Docker Compose, Kubernetes, Notary et Credential Helper.

Photo d’illustration ©