【发布时间】:2019-11-27 13:55:01
【问题描述】:
执行 docker-compose up 时出错。
conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
psycopg2.OperationalError: could not connect to server: Connection refused
Is the server running on host "localhost" (127.0.0.1) and accepting
TCP/IP connections on port 5433?
could not connect to server: Cannot assign requested address
Is the server running on host "localhost" (::1) and accepting
TCP/IP connections on port 5433?
docker-compose.yml:-
version: '3'
services:
dcs_web:
build: .
depends_on:
- db
ports:
- "5000:5000"
db:
image: postgres:latest
volumes:
- db-data:/var/lib/postgresql/data
ports:
- "5433:5433"
environment:
- 'POSTGRES_DB:dcmDB'
- 'POSTGRES_USER:postgres'
- 'POSTGRES_PASSWORD:admin'
volumes:
db-data:
在 App config.ini 中:
[DEFAULT]
DB_NAME = user
DB_PASSWORD = admin
DB_USER = postgres
DB_HOST = localhost
DB_PORT = 5433
DEBUG = True
我已经完成了 '/var/lib/postgresql/data' location 'listen adress = *' is there 。不知道如何处理。
【问题讨论】:
-
VVK kumar 在下面声明他的问题从未得到解决。 “已回答”框指向不使用 docker-compose 的解决方案。因此,我添加此评论以阐明在这种情况下使用 docker-compose 的步骤。 @bug 的答案部分正确:主机必须是服务名称
db。但是,这还不够,因为 Kumar 尝试通过端口 5433 进行连接,而 postgres 正在侦听端口 5432。YAML 的端口部分仅将本地端口连接到容器端口。要使 pg 侦听端口 5433,请将command: postgres -p 5433添加到服务数据库。
标签: python docker flask docker-compose psycopg2