nginx 如何在本地连接fromm并在postgresql docker服务中运行make migrations?

vkc1a9a2  于 5个月前  发布在  Nginx
关注(0)|答案(1)|浏览(40)

我正在构建django应用程序,并使用docker来轻松管理它。我的django docker文件是:

FROM python:3.11

WORKDIR /app

ENV PYTHONUNBUFFERED 1
ENV DJANGO_SETTINGS_MODULE=server.settings

COPY requirements/prod.txt requirements/prod.txt
RUN pip install --no-cache-dir -r requirements/prod.txt
COPY . .

# Expose the port
EXPOSE 8000
# RUN python3 manage.py makemigrations
# RUN python3 manage.py migrate

# Run the Django application
CMD ["python3", "manage.py", "runserver", "0.0.0.0:8000"]

字符串
postgres的docker-compose是:

db:
    image: postgres:13
    container_name: auralab-db
    environment:
      POSTGRES_DB: auralab
      POSTGRES_USER: admin
      POSTGRES_PASSWORD: admin
    ports:
      - "5432:5432"


这是我的Django设置:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'auralab',
        'USER': 'admin',
        'PASSWORD': 'admin',
        'HOST': 'db',
        'PORT': '5432',

    }
}


问题是在django dockerfile中添加make migrations不起作用,需要连接并为此定义连接。实际错误是,然后我必须访问数据库,它有错误:
在/API/learning/syllabus/中出现编程错误
关系“learning_syllabus”不存在行1:. abus”.“results”,“learning_syllabus”.“hours”FROM“learning_.

^


也有错误,然后我在dockerfile中添加makemigrations和migrate:
0.574 django.db.utils.OperationalError:could not translate host name“db”to address:Name or service not known 0.574 -- failed to solve:process“/bin/sh -c python3 manage.py migrate”did not complete successfully:exit code:1

kknvjkwl

kknvjkwl1#

我已经添加

networks:
  default:
    external:
      name: auralab

字符串
是我的服务在同一个主机,但它仍然不能看到我的数据库主机
django.db.utils.OperationalError:could not translate host name“db”to address:名称或服务未知

相关问题