Docker 和 Django:Pytest 不运行

我正在运行 Docker 以在本地加载我的 Django 项目。Pytest 在没有 Docker 的情况下也能完美运行,但由于我使用的是 Docker,在我的容器 bash 中运行命令会带来很多错误。


我的 docker-compose


version: '3'


    services:

      db:

        image: postgres

        ports:

          - "5432:5432"

      web:

        build: .

        env_file: .env

        volumes:

          - .:/code

        ports:

          - "8000:8000"

        depends_on:

          - db

        container_name: local

文件


# Pull base image

FROM python:3


# Set environment varibles

ENV PYTHONUNBUFFERED 1


# Set work directory

RUN mkdir /code

WORKDIR /code


# Install dependencies

RUN pip install --upgrade pip

RUN pip install pipenv

COPY ./Pipfile /code/Pipfile

RUN pipenv install --deploy --system --skip-lock --dev


# Define ENTRYPOINT

COPY ./docker-entrypoint.sh /docker-entrypoint.sh

RUN chmod +x /docker-entrypoint.sh

ENTRYPOINT ["/docker-entrypoint.sh"]


# Copy project

COPY . /code/

我最初的想法是 docker 不让 pytest 创建测试数据库。你有没有遇到过这个问题并且可以告诉我如何解决它?


偶然的你
浏览 128回答 2
2回答

扬帆大鱼

您已经省略了异常中最重要的部分,但是根据错误,我猜您还没有运行数据库迁移,因为 Postgres 数据库没有测试所需的表。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python