【发布时间】:2018-02-28 05:07:13
【问题描述】:
所以我有这个设置,在 Docker 容器中我需要运行 python 库测试套件(为我的公司设计),在我的 Redis 连接器的测试套件中,locaclhost:6379 redis 服务器的创建被拒绝。
redis.exceptions.ConnectionError:连接到 localhost:6379 时出现错误 111。连接被拒绝。
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 构建命令:
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"
【问题讨论】:
标签: python docker redis continuous-integration