我已经构建了一个由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] 连接被拒绝',))",)