2017-12-02 160 views
0

我收到以下错误,当我运行python manage.py测试manage.py测试误差在Django涉及django.db.utils.OperationalError

django.db.utils.OperationalError:无法解析主机名“分贝“解决:节点名,也不servname提供,或者不知道

我的搬运工,compose.yml看起来是这样的:

version: '3' 

services: 
    db: 
    image: postgres 
    ports: 
     - "5432:5432" 
    web: 
    entrypoint: /entrypoint.sh 
    build: . 
    command: python3 manage.py runserver 0.0.0.0:8000 
    volumes: 
     - .:/code 
    ports: 
     - "8000:8000" 
    depends_on: 
     - db 

我dockerfile看起来像

FROM python:3 
ENV PYTHONUNBUFFERED 1 
RUN mkdir /code 
WORKDIR /code 
ADD requirements.txt /code/ 
RUN pip install -r requirements.txt 
ADD . /code/ 
COPY entrypoint.sh /entrypoint.sh 
RUN chmod +x /entrypoint.sh 

请给我任何见解如何解决这个问题。

回答

0

这是因为他们是不一样的网络中,

您应该创建一个网络,包括数据库和网络的话,

version: '3' 

services: 
    db: 
    image: postgres 
    ports: 
     - "5432:5432" 
    networks: 
     - backend 


    web: 
    entrypoint: /entrypoint.sh 
    build: . 
    command: python3 manage.py runserver 0.0.0.0:8000 
    volumes: 
     - .:/code 
    ports: 
     - "8000:8000" 
    depends_on: 
     - db 
    networks: 
     - backend 

networks: 
    backend: 
    driver: bridge 
+0

我做到了,而这并没有改变任何东西。任何其他线索? –

相关问题