Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

851
Views
'proceso de usuario exec causado: error de formato exec' en AWS Fargate Service

Soy totalmente nuevo en AWS, pero he estado ejecutando mi aplicación dockerizada localmente durante meses sin problemas. Ahora que intento implementar esta aplicación a través de AWS ECS/Fargate, mis contenedores se detienen repetidamente con este error de Linux: standard_init_linux.go:219: exec user process caused: exec format error . Este error parece sugerir que la arquitectura en Fargate no reconoce uno de los comandos de Linux que estoy ejecutando, pero no puedo encontrar una buena respuesta en ninguna parte sobre cómo encontrar la arquitectura que se está ejecutando o cómo rastrear el comando específico que está causando la cuestión.

Estos son mis Dockerfiles para el frontend y el backend. El proyecto está integrado en la pila MERN y se divide en el frontend (React) y el backend (MongoDB/Express)

Interfaz:

 FROM alpine:3.10 ENV NODE_VERSION 15.9.0 WORKDIR /frontend COPY package*.json ./ RUN apk add --no-cache nodejs npm # some packages rely on gyp so we need this # pulled from https://github.com/nodejs/docker-node/issues/282 RUN apk add --no-cache --virtual .gyp \ python \ make \ g++ \ && npm install COPY . . EXPOSE 3000 CMD ["npm", "start"]

back-end:

 FROM alpine:3.10 ENV NODE_VERSION 15.9.0 WORKDIR /backend COPY package*.json ./ RUN apk add --no-cache nodejs npm # some packages rely on gyp so we need this # pulled from https://github.com/nodejs/docker-node/issues/282 RUN apk add --no-cache --virtual .gyp \ python \ make \ g++ \ && npm install --silent\ && apk del .gyp COPY ./ ./ EXPOSE 8080 CMD ["npm", "start"]

¡Cualquier ayuda sería muy apreciada!

over 4 years ago · Santiago Trujillo
5 answers
Answer question

0

Creo que has identificado tu problema.

Está construyendo sus imágenes en el chip M1 de Apple, que es una arquitectura ARM. Fargate probablemente se ejecuta en la arquitectura Intel x86-64 más común. Las imágenes que cree localmente en su Mac no podrán ejecutarse allí.

La solución más fácil es probablemente hacer que sus imágenes se construyan automáticamente en Docker Hub (o usar una acción de Github para construirlas en Github ).

No tengo todos los detalles sobre cómo está construyendo e implementando sus imágenes, por lo que es posible que me falten algunos detalles.

over 4 years ago · Santiago Trujillo Report

0

Para cualquiera que regrese aquí, Docker ahora se envía con un comando experimental de compilación de múltiples arquitecturas llamado buildx y puede especificar las arquitecturas y enviar estos contenedores juntos. Esto resolvió mi problema, ¡muchas gracias a los de arriba por señalarme en la dirección correcta!

over 4 years ago · Santiago Trujillo Report

0

Respuesta corta: docker buildx build --platform=linux/amd64 -t <image-name> .

over 4 years ago · Santiago Trujillo Report

0

Las imágenes basadas en una arquitectura en particular no funcionan en otra arquitectura.

Traté de crear una imagen en el chip Mac M1 y la presioné en dockerhub. Estoy tratando de ejecutar un contenedor en el clúster EKC con nodos de trabajo de Amazon Linux que finalmente fallaron. A continuación se muestra la solución que encontré y funcionó perfectamente para mí.

Aplicación de Matraces

 #!/usr/bin/env python3 from flask import Flask app = Flask("basicApp") @app.route("/") def sayHello(): return "<h4 style='color:teal'>Hello World!</h4>" if __name__ == "__main__": app.run()

archivo acoplable

 FROM python:3.7-alpine COPY flaskApp/app.py /app.py RUN chmod 755 /app.py RUN pip3 install flask ENTRYPOINT ["python3", "-m", "flask", "run", "--host=0.0.0.0", "-p", "3000"]

Archivo Kubernetes

 --- apiVersion: v1 kind: Pod metadata: name: flask-app labels: name: flask-app spec: containers: - name: flask-app image: vikrampruthvi5/flask-app:1.1 ports: - containerPort: 3000

Comandos usados docker buildx build --platform=linux/amd64 -t vikrampruthvi5/flask-app:1.1 . docker push vikrampruthvi5/flask-app:1.1

over 4 years ago · Santiago Trujillo Report

0

Como han mencionado otras respuestas, esto puede suceder cuando crea la imagen de la ventana acoplable con un procesador ARM e intenta ejecutarla en un procesador x86 en Fargate.

A partir del 23 de noviembre de 2021, Fargate ahora es compatible con la arquitectura ARM, pero puede ser un poco difícil de encontrar. Asegúrese de habilitar la "Nueva experiencia de ECS" y luego verá la opción para usar ARM al crear una nueva definición de tarea.

Fuente: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-arm64.html

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!