Binfmt est un émulateur multi-plateforme qui vous permet de rendre compatible une image Docker qui n’est pas prise en charge par votre architecture. Cette image convertit les instructions d’une architecture à une autre lors de l’exécution d’une commande ou d’un programme. Ainsi, avec cet émulateur, vous pouvez exécuter et compiler des conteneurs pour n’importe quelle architecture. Mais vous devez vous attendre à des performances moindres, notamment lors de l’exécution d’applications gourmandes en ressources CPU.
Installer les émulateurs
1docker run --privileged --rm tonistiigi/binfmt --install all
Exemple d’utilisation
Exécuter une commande avec une architecture amd64 :
1docker run --rm amd64/alpine uname -a
Exécuter une image Docker avec une architecture amd64 :
1docker run -itd -p 8080:80 --platform linux/amd64 flyimg/flyimg-build
Désinstaller les émulateurs
1docker run --privileged --rm tonistiigi/binfmt --uninstall qemu-aarch64