我正在构建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
1条答案
按热度按时间kknvjkwl1#
我已经添加
字符串
是我的服务在同一个主机,但它仍然不能看到我的数据库主机
django.db.utils.OperationalError:could not translate host name“db”to address:名称或服务未知