首页 > 解决方案 > 容器通过 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"]

标签: reactjsdockerdockerfileamazon-ecs

解决方案


请添加(在 docker-compose 中使用)

stdin_open: true
tty: true

因为容器正在以退出代码 0 退出。

它相当于运行带有-it选项的容器。

对于ECS,它应该像

在任务配置中,单击“通过 JSON 配置”按钮。将 pseudoTerminal 属性更改为 true。"pseudoTerminal": true


推荐阅读