【问题标题】:AWS Docker deployment not exposing port to outside world with Dockerrun fileAWS Docker 部署不使用 Dockerrun 文件向外界公开端口
【发布时间】:2019-06-12 23:10:54
【问题描述】:

我正在使用 docker 映像将 spring-boot 应用程序部署到 AWS,我需要能够使用 hawtio 控制台远程连接到应用程序以监控行为。我创建了一个 Dockerfile 和一个 Dockerrun.aws.json 文件,例如,dockerfile 有 EXPOSE 8080,而 Dockerrun 是:

{
"AWSEBDockerrunVersion": "1",
"Ports": [
  {
    "ContainerPort": 8080,
    "HostPort": 5000
  }
]
}

AWS EB 实例打开了 5000 端口(我测试过),但 Hawtio 控制台没有连接到应用程序。有人可以为我指出如何正确公开端口的正确方向吗?

【问题讨论】:

    标签: java amazon-web-services spring-boot docker amazon-elastic-beanstalk


    【解决方案1】:

    如果您使用的是 EB,那么您如何指定要使用的 docker 映像?

    此信息需要在Dockerrun.aws.json 文件中指定,您提供的示例中没有此信息。

    {
        "AWSEBDockerrunVersion": "1",
        "Image": {
            "Name": "path to the image's repository",
            "Update": "true"
        },
        "Ports": [
            {
                "ContainerPort": 8080,
                "HostPort": 5000
            }
        ]
    }
    

    【讨论】:

    • 是的,很抱歉错过了帖子中的那一行。无论如何我设法解决了这个问题,AWS EB 在端口 5000 上启动了应用程序,所以我只需要在 dockerrun.aws.json 上将 containerPort 设置为 5000 并在 Dockerfile 中将 EXPOSE 5000 设置为
    猜你喜欢
    • 2015-04-16
    • 2021-01-29
    • 2019-08-09
    • 2020-05-23
    • 1970-01-01
    • 2018-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多