Redis的python不能在Docker中创build本地服务器

所以我有这样的设置,在一个Docker容器中,我需要运行一个Python库testing套件(为我公司devise),在我的Redis Connectortesting套件中,创build一个locaclhost:6379 redis服务器被拒绝。

redis.exceptions.ConnectionError:错误111连接到本地主机:6379。 拒绝连接。

test_redis.py在具有nose的开放环境中传递,但在持续集成(在Docker中)失败。

Docker是否阻塞所有的localhost服务,或者我使用了错误的方法?

build立

Ubuntu 17.04

Docker版本1.12.6,build 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映像缺lessredis-server工具,并没有提供任何内容:6379。 解决的办法是在我的testing套件中使用redis-py的模拟。