Erreur rencontrée : "Impossible d'ouvrir '/lib64/ld-linux-x86-64.so.2'
Lors de la tentative de créer une image Docker sur un MacOS M1 à l'aide de la commande docker build -t te-grafana-dashboards-toolchain --no-cache ., les utilisateurs peuvent rencontrer le message d'erreur "qemu-x86_64 : Impossible d'ouvrir '/lib64/ld-linux-x86-64.so.2' : Aucun fichier ou répertoire de ce type." Le fichier spécifié, requis pour le processus de construction de Docker, n'est pas présent dans le système de fichiers du conteneur.
Root Cause
La cause fondamentale de cette erreur réside dans les différences architecturales entre les puces M1 et les processeurs x86-64 traditionnels. Docker fonctionne de manière native dans un environnement Linux, et le fichier Docker spécifié est destiné à être construit sur un Linux. /AMD64 Cependant, les puces M1 utilisent une architecture de jeu d'instructions (ISA) différente connue sous le nom d'ARM64, qui est incompatible avec x86-64. code.
Solution
Pour résoudre ce problème et réussir à créer l'image Docker sur un Mac M1, il est nécessaire de spécifier la bonne plateforme lors de la création de l'image de base.
Plus précisément, la ligne suivante doit être ajoutée au Dockerfile :
FROM --platform=linux/arm64 ubuntu:focal
Ou
FROM --platform=linux/arm64/v8 ubuntu:focal
En définissant la plate-forme sur Linux/arm64, le processus de construction de Docker utilisera une base basée sur ARM64 image, qui est compatible avec l'ISA de la puce M1. Cela garantira que le fichier nécessaire '/lib64/ld-linux-x86-64.so.2' est disponible dans le système de fichiers du conteneur et que la construction de Docker peut se dérouler sans erreur.
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!