如何在一个docker容器中运行etcd后启动python脚本?

时间:2017-03-19 14:59:34

标签: python docker docker-compose dockerfile etcd

我已经构建了一个由python2.7-alpine和etcd(https://hub.docker.com/r/elcolio/etcd/)组成的docker文件,我试图在etcd运行后立即运行python脚本(来自同一个容器),但是我得到了连接错误,因为etcd尚未启动。有什么建议? (我尝试在上一次CMD之后创建另一个CMD,并将exec命令放入run.sh)

FROM python:2.7-alpine

RUN pip install python-etcd

# Create script directory
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app

COPY ./scripts /usr/src/app

## install etcd

RUN         apk add --update ca-certificates openssl tar && \
            wget https://github.com/coreos/etcd/releases/download/v2.0.10/etcd-v2.0.10-linux-amd64.tar.gz && \
            tar xzvf etcd-v2.0.10-linux-amd64.tar.gz && \
            mv etcd-v2.0.10-linux-amd64/etcd* /bin/ && \
            apk del --purge tar openssl && \
            rm -Rf etcd-v2.0.10-linux-amd64* /var/cache/apk/*
VOLUME      /data
EXPOSE      2379 2380 4001 7001
ADD         run.sh /bin/run.sh
CMD  ["/bin/run.sh"]
  

2017-03-19T14:47:20.291046586Z etcd.EtcdConnectionFailed:Connection   因为etd失败了   MaxRetryError(" HTTPConnectionPool(host =' 127.0.0.1',port = 2379):Max   使用url:/ v2 / keys / mq / username超出重试次数(由   NewConnectionError(':无法建立新连接:[Errno 111]   连接被拒绝',))",)

0 个答案:

没有答案