【问题标题】:Aurelia, Docker, Nginx, AWS Elastic Beanstalk Showing 502 Bad GatewayAurelia、Docker、Nginx、AWS Elastic Beanstalk 显示 502 错误网关
【发布时间】:2019-06-12 02:38:19
【问题描述】:

我已通过 AWS ECR 将 Aurelia 应用程序部署到 AWS Elastic Beanstalk,但遇到了一些困难。 docker 容器在本地运行时可以完美运行(请参阅下面的 Dockerfile)。

FROM nginx:1.15.8-alpine

COPY dist /usr/share/nginx/html

部署运行良好,但是当我导航到 AWS 提供的端点 http://docker-tester.***.elasticbeanstalk.com/ 时,我得到了 502 Bad Gateway nginx/1.12.1

我无法弄清楚可能是什么问题。有问题的 docker 容器是通过 au new 命令创建的一个简单的 Hello World 示例;一点都不花哨。

下面是我的 Dockerrun.aws.json 文件

{
  "AWSEBDockerrunVersion": "1",
  "Image": {
    "Name": "***.dkr.ecr.eu-central-1.amazonaws.com/tester:latest",
    "Update": "true"
  },
  "Ports": [
    {
      "ContainerPort": "8080"
    }
  ],
  "Logging": "/var/log/nginx"
}

我的 Elastic Beanstalk 配置相当小,EC2 实例类型为t2.micro。我正在使用免费层作为学习的机会。

非常感谢任何帮助,或指向正确方向的阅读链接。

【问题讨论】:

    标签: amazon-web-services docker nginx aurelia amazon-elastic-beanstalk


    【解决方案1】:

    这与您的 aurelia 应用程序无关。您在Dockerfile 中缺少EXPOSE 声明(这是强制性的)。你可以这样改。

    FROM nginx:1.15.8-alpine
    
    EXPOSE 80
    
    COPY dist /usr/share/nginx/html
    

    如果你尝试在没有EXPOSE的情况下运行它,你会得到一个错误

    ERROR: ValidationError - The Dockerfile must list ports to expose on the Docker container. Specify at least one port, and then try again.
    

    您应该在将应用程序推送到 ElasticBeanstalk 之前对其进行测试

    安装eb cli(假设你有pip,如果没有,那么你也需要安装它)

    pip install awsebcli --upgrade --user
    

    然后初始化本地存储库以进行部署

    eb init -p docker <application-name>
    

    你可以测试一下

    eb local run --port <port-number>
    

    【讨论】:

    • 感谢您的回复。我已经更新了Dockerfile,重新创建了映像并按照您的步骤安装了aws eb cli。这一切似乎都很好,但是在执行eb local run --port 80 时,我收到错误docker: invalid reference format. 有什么建议吗?
    • 顺便说一句,部署到 Elastic Beanstalk 可以完美运行。非常感谢!
    • @JPamstra 我已经尝试了你的设置,只更改了存储库,并且它有效。也许ECR有问题。尝试使用一些公共图像(即matusdubrava/ebtest:v1 作为图像名称"Name": "matusdubrava/ebtest:v1"),看看它是否有效。
    猜你喜欢
    • 2019-07-07
    • 2017-12-09
    • 2015-05-04
    • 2015-04-27
    • 2021-09-16
    • 2022-07-01
    • 2022-01-12
    • 2019-07-03
    • 1970-01-01
    相关资源
    最近更新 更多