Django Docker与POSTGRESQL
我使用Django上的Docker创建新项目。当我写连接到Postgres的设置时,它有一些错误-conn=\u connectdsn,connection\u factory=connection\u factory,**kwasync django.db.utils.OperationalError:无法将主机名db转换为地址:提供了nodename或servname,或者未知 这是我在项目中的代码: 设置.pyDjango Docker与POSTGRESQL,django,postgresql,docker,django-postgresql,Django,Postgresql,Docker,Django Postgresql,我使用Django上的Docker创建新项目。当我写连接到Postgres的设置时,它有一些错误-conn=\u connectdsn,connection\u factory=connection\u factory,**kwasync django.db.utils.OperationalError:无法将主机名db转换为地址:提供了nodename或servname,或者未知 这是我在项目中的代码: 设置.py DATABASES = { 'default': {
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'postgres',
'USER': 'postgres',
'PASSWORD': 'postgres',
'HOST': 'db',
'PORT': 5432
}
}
docker-compose.yml
version: '3.7'
services:
web:
build: .
command: python /code/manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- 8000:8000
depends_on:
- db
db:
image: postgres:11
environment:
POSTGRES_DB: "db"
POSTGRES_HOST_AUTH_METHOD: "trust"
和Dockerfile:
# Pull base image
FROM python:3.7
# Set environment variables
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
# Set work directory
WORKDIR /code
# Install dependencies
COPY Pipfile Pipfile.lock /code/
RUN pip install pipenv && pipenv install --system
# Copy project
COPY . /code/
RUN pip install psycopg2-binary
请帮助解决此问题。我阅读了大量有关stackoverflow的信息。更改了代码。但在这种情况下没有任何帮助。您必须在以下内容中指定主机名:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'postgres',
'USER': 'postgres',
'PASSWORD': 'postgres',
'HOST': 'db',
'PORT': 5432
}
}
否则,它将尝试连接到名为db的主机。在数据库设置中签出名称