Java AWS Docker部署未使用Dockerrun文件对外公开端口
我正在使用docker映像将spring boot应用程序部署到AWS,我需要能够使用hawtio控制台远程连接到该应用程序以监视行为。我创建了一个Dockerfile和一个Dockerrun.aws.json文件,例如,Dockerfile有EXPOSE 8080,Dockerrun是:Java AWS Docker部署未使用Dockerrun文件对外公开端口,java,amazon-web-services,spring-boot,docker,amazon-elastic-beanstalk,Java,Amazon Web Services,Spring Boot,Docker,Amazon Elastic Beanstalk,我正在使用docker映像将spring boot应用程序部署到AWS,我需要能够使用hawtio控制台远程连接到该应用程序以监视行为。我创建了一个Dockerfile和一个Dockerrun.aws.json文件,例如,Dockerfile有EXPOSE 8080,Dockerrun是: { "AWSEBDockerrunVersion": "1", "Ports": [ { "ContainerPort": 8080, "HostPort": 5000 } ] }
{
"AWSEBDockerrunVersion": "1",
"Ports": [
{
"ContainerPort": 8080,
"HostPort": 5000
}
]
}
AWS EB实例打开了端口5000(我测试了它),但Hawtio控制台没有连接到应用程序。有人能告诉我如何正确地暴露端口吗?如果您使用的是EB,那么如何指定要使用的docker映像 需要在
dockrun.aws.json
文件中指定此信息,您提供的示例中缺少该文件
{
"AWSEBDockerrunVersion": "1",
"Image": {
"Name": "path to the image's repository",
"Update": "true"
},
"Ports": [
{
"ContainerPort": 8080,
"HostPort": 5000
}
]
}
是的,很抱歉错过了邮件上的那句话。不管怎样,我设法解决了这个问题,AWS EB在端口5000上启动应用程序,所以我只需在dockrun.AWS.json上将containerPort设置为5000,并在Dockerfile中公开5000