Docker Postgres + Django:Pytest失败

时间:2018-11-14 08:25:27

标签: python django postgresql docker

自从我移至Docker Postgres以来,通过pytest进行的测试失败。现在,我将数据库连接确定为问题。

工作原理: 当我在Mac上使用PostgreSQL 10时,它可以正常运行。作为我settings.py中的数据库凭据,我使用:

hyper link(to the servlet/target link)

失败的方式:自从我迁移到Docker + Postgres之后,我必须使用不同的凭据连接到我的Docker Postgres:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'project',
        'USER': 'MyName',
        'PASSWORD': '',
        'HOST': '127.0.0.1',
        'PORT': '5432',
    }
}

因为我想使用Docker而不是PostgreSQL,但仍然希望能够进行测试,所以我想知道您是否有解决我问题的方法?

这是我的控制台日志输出:https://pastebin.com/MZsccuGJ

我的Dockerfile

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'postgres',
        'USER': 'postgres',
        'HOST': 'db',
        'PORT': 5432,
    }
}

Docker-Compose

# 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/

0 个答案:

没有答案