我对 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"]
Run Code Online (Sandbox Code Playgroud)
后端:
FROM …Run Code Online (Sandbox Code Playgroud)