Images multi-architecture (amd64 et arm64) avec buildx
Votre Mac est en arm64, votre VPS peut-être en amd64. Une seule image multi-architecture fonctionne partout.
Module 5 · Durcir et optimiser
Objectif du chapitre
Le registre contient une image MonTour qui tourne nativement sur amd64 et arm64.
Prérequis : Durcir l’exécution (chapitre 21) : tag dk21 posé.
Votre portable est peut-être un Mac Apple Silicon (arm64), votre VPS un serveur Intel (amd64), et demain un VPS ARM moins cher. Une image Docker contient du code compilé pour un type de processeur. Dans ce chapitre, vous publiez MonTour sous un seul tag qui fonctionne partout.
Pourquoi « exec format error » arrive, et comment le reconnaître
Le scénario classique : vous construisez l’image sur un Mac M1, vous la poussez, le VPS la tire et le conteneur meurt immédiatement. Le processeur du VPS ne sait pas lire les binaires arm64 de l’image. Le message est court et trompeur :
docker compose logs app
# app-1 | exec /usr/local/bin/docker-entrypoint.sh: exec format error
docker inspect --format '{{.State.ExitCode}}' montour-app-1
# 1 (ou 255 selon le binaire)
La suite de cette leçon est réservée aux abonnés
Les 3 premières leçons de chaque formation sont gratuites. Débloquez la suite pour continuer.
Déjà abonné ? Se connecter
