¡Por favor ayuda!
Estoy tratando de implementar una imagen acoplable en un clúster de kuebernetes. No hubo problema hasta que cambié a la nueva Macbook Pro con M1.
Una vez que construyo la imagen en la máquina m1 y la implemento, aparece el siguiente error del pod de kuebernetes: standard_init_linux.go:211: exec user process caused "exec format error"
Después de investigar un poco, seguí esta publicación mediana sobre cómo agregar y configurar docker buildx
.
Una vez que construyo una nueva imagen usando el nuevo buildx y la ejecuto localmente usando el escritorio docker (la versión de vista previa compatible con m1), se ejecuta sin problemas. Sin embargo, el pod de kubernetes sigue mostrando el mismo error. standard_init_linux.go:211: exec user process caused "exec format error"
Mi comando de compilación
docker buildx use m1_builder && docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7,linux/arm/v6 -f Dockerfile -t ${myDockerRepo} --push . '
Durante la compilación, veo que cada plataforma cierra sesión y está ejecutando los comandos de mi Dockerfile.
Mi comando de empuje
docker push ${myDockerRepo}
Una cosa extraña a tener en cuenta es que el resumen sha256 en la respuesta del comando docker push no cambia.
Aquí está mi archivo docker:
# Use an official Node runtime as a parent image FROM node:10-alpine # Copy the current directory contents into the container at /app COPY dist /app # Set the working directory to /app WORKDIR /app # Make port 8000 available to the world outside this container EXPOSE 8000 # Run npm run serve:dynamic when the container launches CMD ["node", "server"]
No soy un experto en docker, claramente. Comenzó con una cabeza llena de cabello. Hasta 3 hilos. Guarde esos 3 hilos.
Agradezco toda ayuda y consejo!
Saqué la imagen creada por el macbook M1 a mi otro macbook y pude ejecutar la imagen localmente a través del escritorio docker. No estoy seguro de lo que esto significa. ¿Podría ser solo una configuración de kuebernetes?
Intente agregar --platform=linux/amd64 a su dockerfile:
FROM --platform=linux/amd64 node:10-alpine