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"]
也要docker-compose for Postgres是:
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中添加迁移,不需要连接并为此定义连接。然后,实际错误是我必须访问数据,它具有错误:
at/api/学习/课程提纲/
建立“ Learning_syllabus”不存在第1行: ... abus'。“结果”,“学习_syllabus”。“从“学习” _...也有错误,然后我添加makemigrations并在Dockerfile中迁移:
^
0.574django.db.utils.soperationalerror:无法将主机名称“ db”转换为地址:名称或服务未知 0.574 ------无法解决:过程“/bin/sh -c python3 manage.py迁移”未成功完成:退出代码:1
我添加了
在同一网络上成为我的服务,但仍然看不到我的
db
主机:
django.db.utils.serationalerror:无法将主机名称“ db”转换为地址:名称或服务未知