reactjs - 容器通过 ECS 中的 react 应用程序退出
问题描述
我在 ECS 中运行 React 应用程序。已创建 docker 映像并通过 jenkins 管道推送到 ECR。ECS 容器是通过 terraform 代码创建的。但是容器以代码 0 退出并开始新的容器。这变成了一个循环。当我尝试使用来自同一图像的命令手动创建容器时,容器仍然处于活动状态。当 ECS EC2 中使用相同的图像时,容器被创建并退出。当我检查来自云手表的日志时,我会得到日志,因为不是来自 webpack 的内容是从 /app/public 404s 提供的,将回退到 /
enter code here
FROM node:13.12.0-alpine
# set working directory
WORKDIR /app
# add `/app/node_modules/.bin` to $PATH
ENV PATH /app/node_modules/.bin:$PATH
# install app dependencies
COPY package.json ./
COPY package-lock.json ./
RUN npm install --silent
RUN npm install react-scripts@3.4.1 -g --silent
# add app
COPY . ./
# start app
ENTRYPOINT ["npm", "start"]
解决方案
请添加(在 docker-compose 中使用)
stdin_open: true
tty: true
因为容器正在以退出代码 0 退出。
它相当于运行带有-it
选项的容器。
对于ECS,它应该像
在任务配置中,单击“通过 JSON 配置”按钮。将 pseudoTerminal 属性更改为 true。"pseudoTerminal": true