2017-03-07 189 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

相關問題