首页 > 解决方案 > django.db.utils.OperationalError:无法将主机名“db”转换为地址:名称或服务未知

问题描述

运行代码时会出现这种情况,docker-compose exec web python manage.py makemigrations 用户。

下面是我的 docker-compose.yml 代码。

version: '3.8'

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
        volumes:
            - postgres_data:/var/lib/postgresql/data/
        environment:
            POSTGRES_DB: postgres
            POSTGRES_USER: postgres
            POSTGRES_PASSWORD: testpassword
volumes:
    postgres_data:

下面是我的 Dockerfile 代码:

# Pull base image
FROM python:3.8


# 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/

在命令中运行“docker compose up”后,我收到以下消息,错误:对于数据库无法为服务数据库创建容器:重复的安装点:/var/lib/postgresql/data 错误:在启动项目时遇到错误。

标签: pythondjangodocker

解决方案


推荐阅读