Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.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
Java AWS ECS中使用Payara Micro重启无限实例_Java_Amazon Web Services_Docker_Jax Rs_Amazon Ecs - Fatal编程技术网

Java AWS ECS中使用Payara Micro重启无限实例

Java AWS ECS中使用Payara Micro重启无限实例,java,amazon-web-services,docker,jax-rs,amazon-ecs,Java,Amazon Web Services,Docker,Jax Rs,Amazon Ecs,我正在用AWS做我的第一步,想从一个在ECS上运行的非常简单的应用开始。因此,我做了亚马逊提供的指南。Fargate和EC2都工作得很好,我能够运行示例应用程序。在第二步中,除了任务定义之外,我还一个接一个地完成了教程中的所有设置。工作也很好 然后我想部署我自己的Docker映像。因此,我将图像上传到ECR并创建了一个新的任务定义。Docker镜像源于Payara Micro镜像,只包含最简单的web资源:只有两个Java类和一个maven构建 应用程序类: @ApplicationPath(“

我正在用AWS做我的第一步,想从一个在ECS上运行的非常简单的应用开始。因此,我做了亚马逊提供的指南。Fargate和EC2都工作得很好,我能够运行示例应用程序。在第二步中,除了任务定义之外,我还一个接一个地完成了教程中的所有设置。工作也很好

然后我想部署我自己的Docker映像。因此,我将图像上传到ECR并创建了一个新的任务定义。Docker镜像源于Payara Micro镜像,只包含最简单的web资源:只有两个Java类和一个maven构建

应用程序类:

@ApplicationPath(“/Hello”)
公共类HelloApplication扩展了应用程序{}
资源类:

@Path(“/Resource”)
公共类HelloResource{
@得到
公共响应getHello(){
返回Response.ok(“Hello”).build();
}
}
pom.xml文件:


4.0.0
com.hueff
附件5
战争
0.1
附件5
org.eclipse.com文件
微文件
3.3
聚甲醛
假如
org.apache.maven.plugins
maven编译器插件
3.5.1
1.8
1.8
org.apache.maven.plugins
maven战争插件
src\main\webapp\WEB-INF\WEB.xml
我的Dockerfile:

FROM payara/micro
    
EXPOSE 8080
    
COPY ./target/App5-0.1.war $DEPLOY_DIR
    
CMD ["--deploymentDir", "/opt/payara/deployments", "--contextroot", "App5"]
当我在AWS中创建一个使用映像的ECS服务时,一个EC2实例被初始化,并出现一个健康状态。如果我尝试访问AWS负载平衡器,我要么得到404,要么能够检索资源

但在几秒钟或1-2分钟后,实例进入“排水”状态并关闭。然后我得到502、503或504个响应,直到出现一个新实例。然后我再次得到404或200响应,直到该实例进入排水状态并关闭。这将成为一个无限循环。大多数情况下,对负载平衡器的请求都会使用500er范围内的代码进行应答。但我也得到了很多404代码,有时是200代码

我想404是可以的,因为它们是从Payara微图像提供的。因为我很少收到200条回复,所以我认为我的一般设置(VPC、子网、Internet网关、ACL、安全组等)很好。因此,我将404添加到运行状况检查中可接受的代码中,因为在初始化期间,404将在归档部署到Payara Micro之前一直存在

但是,某些因素导致实例一旦启动并运行,就会进入耗尽状态。因为我是一个完全的初学者,我只能从这一点上尝试和错误。你们知道是什么导致了实例关闭,或者可以在某些方面提示我吗

Docker映像在我的本地机器上运行得非常好

亲切问候,

马克