[英]Postgres connection problem in docker-compose up in Django project
我的 Django 項目與python manage.py runserver配合使用沒有問題。 Postgres、redis、django、djangorestframework 都很好。
我嘗試 Dockerize 項目,但 Postgres 出現以下錯誤:
....
web_1 | conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
web_1 | django.db.utils.OperationalError: could not connect to server: Connection refused
web_1 | Is the server running on host "127.0.0.1" and accepting
web_1 | TCP/IP connections on port 5432?
這是我的 docker-compose。
version: '3'
services:
db:
image: postgres # use latest official postgres version
env_file:
- database.env # configure postgres
volumes:
- database-data:/var/lib/postgresql/data/ # persist data even if container shuts down
redis:
image: bitnami/redis:latest
web:
build: .
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
depends_on:
- db
volumes:
database-data:
注意:我還嘗試了另一個 postgres 存儲庫: https://github.com/sameersbn/docker-postgresql
好的,我解決了問題,這是關於設置:
在我的 settings.py 中,HOST 值為 127.0.0.1,我將其更改為 'db',這解決了一切......
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'bigdata',
'USER': 'postgres',
'PASSWORD': 'postgres',
'HOST': 'db',
'PORT': 5432,
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.