簡體   English   中英

Django 項目中 docker-compose 中的 Postgres 連接問題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM