2017-03-07 192 views
0

我有一个在Docker容器中运行Flask_sqlalchemy的应用程序。从Docker容器内部连接到RDS Postgreql DB的错误

的容器运行不正常,所以我跳下水,并试图运行应用程序并得到以下错误:

sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) could not connect to server: Connection refused 
    Is the server running on host "DBNAME.XXXXXXXXXX.eu-west-1.rds.amazonaws.com" (000.000.000.000) and accepting 
    TCP/IP connections on port 5432? 

应用程序正常工作的容器外,我想不通这是怎么回事上。

它可能与AWS-RDS安全组有关吗?他们目前被配置为只接受来自我们办公室进行开发的入站连接。

编辑:

这是我Dockerfile:

FROM ubuntu:latest 
RUN apt-get update -y 
RUN apt-get install -y python-pip python-dev build-essential libpq-dev python-shapely 
COPY . /src 
WORKDIR /src 

RUN pip install -r requirements.txt 

EXPOSE 5000 
CMD ["python", "application.py"] 

这是泊坞窗运行命令我做:

docker run -d -p 5000:5000 container_name

感谢

+0

您好,请发表更多信息。完整的搬运工运行命令或码头,compose.yml和你全部或相关部分Dockerfile –

+0

感谢回去我,我已经添加了一些编辑我的职务与Dockerfile和命令。 – TKems

+0

我在配置中看不到任何不好的东西。只要进行一项测试,就可以让安全组对任何人开放。那么如果是问题,你可以配置你的主持人来表现你的主人。 –

回答

1

我完全相同的问题;)但通过确保f来解决它如下:

  • AWS ELB环境配置为通用Docker(未针对Python预配置)。
  • 环境在包含RDS实例的VPC内部创建。
  • RDS实例正在从VPC安全组侦听正确的端口(PostgreSQL:5432)(应该已经是这种情况)。
+0

Gee Whiz伟大的工作! – TKems

相关问题