首页 > 解决方案 > AWS Fargate 服务中的“导致执行用户进程:执行格式错误”

问题描述

我对 AWS 完全陌生,但几个月来我一直在本地运行我的 dockerized 应用程序,没有任何问题。现在我正在尝试通过 AWS ECS/Fargate 部署此应用程序,我的容器因以下 linux 错误而反复停止:standard_init_linux.go:219: exec user process caused: exec format error. 此错误似乎表明 Fargate 中的架构无法识别我正在运行的 Linux 命令之一,但我无法在任何地方找到关于如何找到正在运行的架构或如何追踪导致的特定命令的好答案问题。

这些是我用于前端和后端的 Dockerfile。该项目构建在 MERN 堆栈中,分为前端 (React) 和后端 (MongoDB/Express)

前端:

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"]

后端:

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"]

任何帮助将不胜感激!

标签: node.jsamazon-web-servicesdockeramazon-ecsaws-fargate

解决方案


简短的回答: docker buildx build --platform=linux/amd64 -t <image-name> .


推荐阅读