我的应用程序在我的系统上运行正常,但是当我通过docker composer构建docker映像并运行该应用程序时,它显示以下错误。
但是,我通过在以下Flask设置中将IP地址从127.0.0.1 => 0.0.0.0更改为解决此问题,并且docker镜像在我的系统上工作正常。但是,当我在另一个ubuntu上运行它时,它给了我同样的错误,并将IP更改为127.0.0.1。
if __name__ == "__main__":
app.run(host='**0.0.0.0**',debug=False)
错误:
Traceback (most recent call last):
File "./main.py", line 22, in <module>
ps.create_table() # create the table if is not existed
File "/prj/Modules/postgres.py", line 49, in create_table
connection = get_connection()
File "/prj/Modules/postgres.py", line 36, in get_connection
return psycopg2.connect(f"dbname={db_name} user={user} password={password} host={host}")
File "/usr/local/lib/python3.8/site-packages/psycopg2/__init__.py", line 126, in connect
conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
psycopg2.OperationalError: could not connect to server: Connection refused
Is the server running on host **"127.0.0.1"** and accepting
TCP/IP connections on port 5432?
您可以访问我的代码和docker hub:
docker hub:applia65 / duplicatebugreportsearchengine GitHub:https://github.com/ghasemieh/Duplicated-Bug-Report-Detection-System/blob/master/main.py
基本上,我有3个容器my-app,Postgres和MongoDB。
如果您能帮助我解决此问题,我将不胜感激。 谢谢
答案 0 :(得分:0)
从跟踪中无法访问PostgreSql。您可以尝试更新docker compose并添加如下所示的暴露语句吗?
expose:
- 5432
这将仅允许访问链接的服务,除非还指定了“端口”。