Redis Python无法在Docker中创建本地服务器



所以我有此设置,在码头容器中,我需要运行Python库测试套件(为我的公司设计),在我的测试套件中为我们的Redis Connector,创建一个 locaclhost:6379 redis服务器被拒绝。

redis.exceptions.connectionError:错误111连接到localhost:6379。连接拒绝。

test_redis.py在带有nose的开放环境中通过,但在连续集成中失败(在Docker中)。

Docker是否会阻止所有localhost服务或我使用错误的方法?

设置

ubuntu 17.04

Docker版本1.12.6,构建78D1802

dockerfile:

FROM continuumio/miniconda3:4.3.14
MAINTAINER ... <...@fifty-five.com>
WORKDIR /app
RUN which conda && which python && which pip && apt update && apt install -y build-essential libblas-dev liblapack-dev libatlas-base-dev gfortran
RUN conda install -y numpy && conda install -y scikit-learn && conda install -y scipy
RUN apt update && apt install -y libmysqlclient-dev
COPY . /app/maids
RUN cd /app/maids/ && pip install -e .

使用makefile build命令:

test_docker_light_py3: #build_datascience_base3
    docker run -e GCS_BUCKET=${GCS_BUCKET} -e GCS_BUCKET_TEST=${GCS_BUCKET_TEST} -e TEST_DATASET=${TEST_DATASET} -e TEST_DATASET_2=${TEST_DATASET_2} -e DOC_SSH_HOST=${DOC_SSH_HOST} -e DOC_SSH_PATH=${DOC_SSH_PATH} -v $(shell pwd):/app -i -t "${LOCAL_TEST_IMAGE3}" /bin/bash -c "python --version ; pip freeze ; python -m 'nose' -a '!slow' --nologcapture --nocapture --with-coverage --cover-package=maids --with-timer --timer-top-n 10 tests/*.py"

最终解决的问题非常简单。确实,我的Docker图像缺少redis-server工具,并且没有提供任何内容:6379。修复程序是在我的测试套件中使用模拟对重复。

最新更新