Aucune erreur de fichier ou de répertoire de ce type : dépannage de QEMU-x86_64 sur les versions Docker ARM64
Lors de la création d'images Docker sur MacOS M1 à l'aide de QEMU-x86_64 , les utilisateurs peuvent rencontrer l'erreur « qemu-x86_64 : Impossible d'ouvrir '/lib64/ld-linux-x86-64.so.2' : aucun fichier ou répertoire de ce type." Cette erreur se produit car l'architecture ARM64 M1 ne dispose pas de la bibliothèque d'objets partagés x86_64 requise par le Dockerfile.
Pour résoudre ce problème, la solution réside dans la modification de la plateforme spécifiée dans la directive FROM du Dockerfile. Au lieu d'utiliser la plate-forme ARM64 par défaut, spécifiez explicitement la plate-forme Linux/amd64 comme suit :
FROM --platform=linux/amd64 ubuntu:20.04
Ce changement oblige Docker à utiliser une image de base x86_64, qui inclut les bibliothèques d'objets partagés nécessaires. En conséquence, le processus de construction tentera d'installer et d'exécuter du code explicitement compilé pour x86_64.
Alternativement, si possible, envisagez d'utiliser une image de base ARM64 et de compiler un logiciel pour x86_64 dans le conteneur pendant le temps de construction. Bien que peut-être plus lente en raison de l'émulation, cette approche peut générer des performances accrues lors de l'exécution du conteneur sur des Mac basés sur M1.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!