Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“Docker上的Django-关系”;django_会议”;字符109处不存在_Django_Docker_Docker Compose - Fatal编程技术网

“Docker上的Django-关系”;django_会议”;字符109处不存在

“Docker上的Django-关系”;django_会议”;字符109处不存在,django,docker,docker-compose,Django,Docker,Docker Compose,我正在尝试使用Docker运行Django项目,但出现以下错误: 全输出: 我应该检查什么?我自己无法调试它。您需要运行迁移来创建数据库表 通常,可以使用migrate命令执行此操作 python manage.py migrate 在您的情况下,需要在容器内运行migrate。提供了如何执行此操作的说明: docker-compose run django python manage.py migrate 您也可以仅为sessions应用程序运行迁移 docker-compose -f p

我正在尝试使用Docker运行Django项目,但出现以下错误:

全输出:


我应该检查什么?我自己无法调试它。

您需要运行迁移来创建数据库表

通常,可以使用migrate命令执行此操作

python manage.py migrate
在您的情况下,需要在容器内运行migrate。提供了如何执行此操作的说明:

docker-compose run django python manage.py migrate

您也可以仅为sessions应用程序运行迁移

docker-compose -f production.yml(local.yml) run django python manage.py 
migrate sessions
如果运行“migrate”命令没有为您创建表,请检查django_migrations表中名为“sessions”的“app”列中的条目 如果有条目,则删除它们(从django_迁移中删除,其中app='sessions';)并重新运行“migrate”脚本。
这同样适用于您可能正在使用的其他缺少数据库表的应用程序。迁移脚本将只运行django_迁移表中未列出的脚本。

适合我的脚本

首先,我执行创建图像的命令
docker compose build
,然后执行
docker compose up

django服务器启动后,我打开另一个命令行,连接到容器(
docker exec-it container\u name bash
),并在
python manage.py migrate;python manage.py makemigrations
中执行

顺便说一下,以下是我的Dockerfile和docker-compose.yml文件内容:

FROM python:3.7
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
ADD . /code/
RUN pip install --upgrade pip && pip install -r requirements.txt
COPY . /code/

我之前做过(在我问问题之前)运行它时发生了什么?由于表不存在,它看起来不起作用,但您没有提供任何信息来帮助调试。我得到了所有迁移都已执行的标准信息,例如:应用xxx.0003_auto…OK等。如果现在运行它,我有:我从头开始,现在有:-On 127.0.0.1 is
Internal服务器错误
。日志如下:
FROM python:3.7
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
ADD . /code/
RUN pip install --upgrade pip && pip install -r requirements.txt
COPY . /code/
version: '3'

services: 
  web:
    build: .
    command: python manage.py runserver 0.0.0.0:8000
    volumes:
      - .:/code
    ports:
      - "8000:8000"