[英]Dockerized Django REST Framework / Postgresql - Disallowed host
當我嘗試執行以下命令時:
sudo docker-compose up
我在終端中收到以下錯誤:
這是我的docker文件的樣子:
FROM python:3.6
ENV PYTHONUNBUFFERED 1
RUN mkdir /agent-technologies
WORKDIR /agent-technologies
COPY . /agent-technologies
RUN pip install -r requirements.txt
EXPOSE 8000
這是我docker-compose.yml
樣子:
version: '3'
services:
db:
image: postgres
environment:
- POSTGRES_USER=stefan_radonjic
- POSTGRES_PASSWORD=cepajecar995
- POSTGRES_DB=agent_technologies_db
web:
build: .
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/agent-technologies
ports:
- "8000:8000"
links:
- db
depends_on:
- db
最后是我之前創建的PostgresSQL DB的設置:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'agent_technologies_db',
'USER': 'stefan_radonjic',
'PASSWORD': 'cepajecar995',
'HOST': 'db',
'PORT': '',
}
}
您的django應用正在嘗試連接到“本地主機”數據庫,但由於它位於其自己的容器內-本地主機不適合訪問數據庫。
如果您是通過db容器名稱引用的,則Dockercompose會將您的名稱查詢解析為數據庫。 您的情況是“ db”
閱讀圖片上的文字時-您必須在設置模塊內的ALLOWED_HOSTS
變量中添加“ 0.0.0.0”。
確保您已仔細閱讀django文檔。 它非常有活力。
該錯誤很容易解釋。.您未在ALLOWED_HOSTS設置中設置 IP。 嘗試將這些添加到您的設置文件:
ALLOWED_HOSTS = ['*'] # wildcard, allows all
或者,如果您想露骨:
ALLOWED_HOSTS = ['0.0.0.0'] # explicit
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.