【问题标题】:Docker on Elastic Beanstalk - connect() failed (111: Connection refused) while connecting to upstreamElastic Beanstalk 上的 Docker - 连接到上游时 connect() 失败(111:连接被拒绝)
【发布时间】:2016-11-20 06:01:12
【问题描述】:

我正在尝试在 AWS Elastic Beanstalk(此应用程序:https://github.com/jay3dec/PythonFlaskMySQLApp---Part-1)上运行一个简单的 Sign Up Flask 应用程序,该应用程序连接到托管在 AWS RDS 上的外部 MySQL 数据库。

应用程序在本地完美运行(即使我从本地应用程序连接到 AWS RDS)。

但是当我在命令行中打开 eb 时,我得到:

502 Bad Gateway

nginx/1.8.1

当我做 eb create 时,我收到了警告:

WARN    Only one EXPOSE directive is allowed, using the first one: 3306

因为在我的 Dockerfile 中,我有:

EXPOSE 3306
EXPOSE 5000

对于 eb 日志,我有:

/var/log/nginx/error.log
-------------------------------------
2016/07/17 15:18:06 [warn] 8928#0: duplicate MIME type "text/html" in /etc/nginx/sites-enabled/elasticbeanstalk-nginx-docker-proxy.conf:11
2016/07/17 15:18:06 [warn] 8934#0: duplicate MIME type "text/html" in /etc/nginx/sites-enabled/elasticbeanstalk-nginx-docker-proxy.conf:11
2016/07/17 15:20:54 [error] 8937#0: *33 connect() failed (111: Connection refused) while connecting to upstream, client: 172.31.6.93, server: , request: "GET /favicon.ico HTTP/1.1", upstream: "http://172.17.0.2:3306/favicon.ico", host: "flasksecgroup-dev.us-east-1.elasticbeanstalk.com", referrer: "http://flasksecgroup-dev.us-east-1.elasticbeanstalk.com/"

我的 Dockerfile 是:

FROM ubuntu:latest

RUN apt-get update -y
RUN apt-get install -y python-pip libmysqlclient-dev python-dev build-    essential
 COPY . /app
WORKDIR /app
RUN pip install -r requirements.txt

# Expose
EXPOSE 3306
EXPOSE 5000

ENTRYPOINT ["python"]
CMD ["app.py"]

【问题讨论】:

  • 您的安全组中的 3306 端口是否对世界开放。
  • 我打开了所有端口,这个错误消失了,谢谢。
  • 我已经回答了这个问题。如果对您有用,请将其标记为正确。

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


【解决方案1】:

这是端口和安全防火墙问题。在您的安全组中向世界开放端口 3306 和 5000。它可以正常工作。

【讨论】:

    【解决方案2】:

    如果您可以将 Dockerfile 添加到存储库,我可以检查一下

    【讨论】:

    • 这不是答案。
    • 我在问题中添加了 dockerfile
    • 请将 requirements.txt 添加到 github 仓库
    • 我的 requirements.txt: Flask==0.10.1 Flask-MySQL==1.3 Flask-WTF==0.12 MySQL-python==1.2.5 oauthlib==0.6.1 websocket-client== 0.37.0 Werkzeug==0.10.4 WTForms==2.1
    • 请将此文件推送到仓库,复制粘贴有潜在风险进行测试。
    猜你喜欢
    • 1970-01-01
    • 2015-06-04
    • 1970-01-01
    • 1970-01-01
    • 2015-04-03
    • 1970-01-01
    • 2022-01-18
    • 2014-02-26
    • 2012-11-21
    相关资源
    最近更新 更多