Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 使用ECS中的react app退出容器_Reactjs_Docker_Dockerfile_Amazon Ecs - Fatal编程技术网

Reactjs 使用ECS中的react app退出容器

Reactjs 使用ECS中的react app退出容器,reactjs,docker,dockerfile,amazon-ecs,Reactjs,Docker,Dockerfile,Amazon Ecs,我正在ECS中运行React应用程序。docker映像已经创建并通过jenkins管道推送到ECR。ECS容器通过terraform代码创建。但容器退出时代码为0,新的容器启动。这变成了一个循环。当我尝试使用来自同一图像的命令手动创建容器时,容器保持活动状态。当ECS EC2中使用相同的映像时,创建并退出容器。 当我从cloud watch查看日志时,我得到的日志如下 非来自网页的内容由/app/public提供 404将退回到/ enter code here FROM node

我正在ECS中运行React应用程序。docker映像已经创建并通过jenkins管道推送到ECR。ECS容器通过terraform代码创建。但容器退出时代码为0,新的容器启动。这变成了一个循环。当我尝试使用来自同一图像的命令手动创建容器时,容器保持活动状态。当ECS EC2中使用相同的映像时,创建并退出容器。 当我从cloud watch查看日志时,我得到的日志如下 非来自网页的内容由/app/public提供 404将退回到/

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中使用)

因为容器正在退出,退出代码为0

这相当于使用
-it
选项运行容器

对于ECS它应该是

在任务配置中,单击通过JSON配置按钮。将伪终端属性更改为true<代码>“伪终端”:true

请添加(在docker compose中使用)

因为容器正在退出,退出代码为0

这相当于使用
-it
选项运行容器

对于ECS它应该是


在任务配置中,单击通过JSON配置按钮。将伪终端属性更改为true<代码>“伪终端”:正确

您使用的是ecs farget,这意味着没有内存或cpu资源问题。如果您可以查看服务事件和错误日志,您可能会有所了解。感谢您的回复,但我不是在使用fargate,而是在使用EC2Linux。从cloudwatch日志中,我得到的不是来自webpack的内容,而是来自/app/public 404s的服务。当我通过手动发出命令docker run-dit--name-p imagename来运行具有相同映像的容器时,容器会被创建并稳定。但是当我使用ECS(相同映像)自动运行时,容器正在退出。我不是100%确定,但看起来容器进程正在完成,退出代码为0。如果您可以将此添加到ECS:stdin_open:true,并检查哪个将保持容器运行,并且它不会退出stdin_open:true,tty:true将与运行容器时使用
docker run-it
相同,您使用的ECS farget意味着由于内存或cpu资源而没有问题。如果您可以查看服务事件和错误日志,您可能会有所了解。感谢您的回复,但我不是在使用fargate,而是在使用EC2Linux。从cloudwatch日志中,我得到的不是来自webpack的内容,而是来自/app/public 404s的服务。当我通过手动发出命令docker run-dit--name-p imagename来运行具有相同映像的容器时,容器会被创建并稳定。但是当我使用ECS(相同映像)自动运行时,容器正在退出。我不是100%确定,但看起来容器进程正在完成,退出代码为0。如果您可以将此添加到ECS:stdin_open:true,并检查哪个将保持容器运行,它将不会退出stdin_open:true,tty:true将与运行容器时使用
docker run相同-它
注释不用于扩展讨论;此对话已结束。评论不用于扩展讨论;这段对话已经结束。
stdin_open: true
tty: true