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