dad*_*tta 3 postgresql flask docker docker-compose
使用docker-compose,我试图从中查看manage.py runserver
与postgres图像连接的Flask应用程序,但出现以下错误:
sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) could not connect to server: Connection refused
Is the server running on host "0.0.0.0" and accepting
TCP/IP connections on port 5432?
Run Code Online (Sandbox Code Playgroud)
我的档案文件
version: '3.1'
services:
app:
build: .
ports:
- 5000:5000
volumes:
- /Users/sammy/Projects/my_flask_app:/my_flask_app
container_name: my_flask_app_1
depends_on:
- db
entrypoint: ["python", "manage.py", "runserver"]
db:
image: postgres:10
restart: always
container_name: my_app_db_1
environment:
POSTGRES_USER: ubuntu
POSTGRES_PASSWORD: pickles
POSTGRES_DB: db
ports:
- 5432:5432
Run Code Online (Sandbox Code Playgroud)
从我的应用程序settings.py
文件
POSTGRES = {
'user': "ubuntu",
'pw': "pickles",
'db': "db",
'host': os.getenv('IP', '0.0.0.0'),
'port': '5432',
}
SQLALCHEMY_DATABASE_URI = 'postgresql://%(user)s:\
%(pw)s@%(host)s:%(port)s/%(db)s' % POSTGRES
Run Code Online (Sandbox Code Playgroud)
它可以很好地构建和运行该应用程序,因为我可以访问该站点并查看Werkzeug追溯解释器。我在Postgres容器本身的配置或Flask与之的连接上都失败了。
settings.py文件中的主机应为“ db”。compose公开内部网络中与您的服务同名的主机。
POSTGRES = {
'user': "ubuntu",
'pw': "pickles",
'db': "db",
'host': "db",
'port': '5432',
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
990 次 |
最近记录: |