【发布时间】:2015-05-23 06:42:34
【问题描述】:
我正在尝试启动一个 zookeeper 实例和一个使用 docker-compose(docker-compose.yml 文件中的内容)连接到 zookeeper 实例的进程。一旦 docker 为两个实体获取存储库并启动 zookeeper 实例,它就无法将进程连接到 zookeeper 实例并优雅地停止整个设置并抛出此错误 -
{
abc_1 | "warnings" : [],
abc_1| "diskperms" : {},
abc_1 | "diskspace" : {},
abc_1 | "data" : [],
abc_1 | "log" : [
abc_1 | "[ERROR] [28] Local-disk package '/packages/xyz.tar.gz' does not exist on disk."
abc_1 | ],
abc_1 | "http_info" : {},
abc_1 | "result" : {
abc_1 | "msg" : "Local-disk package '/packages/xyz.tar.gz' does not exist on disk.",
abc_1 | "status" : 1
abc_1 | },
abc_1 | "state" : {}
abc_1 | }
dockerzookeeper1_abc_1 exited with code 1
Gracefully stopping... (press Ctrl+C again to force)
Stopping dockerzookeeper1_zookeeper_1...
谁能告诉我如何用 docker-compose 解决这个问题?
Dockerfile -
docker 文件长这样 -
FROM debian:jessie
RUN apt-get update && apt-get install -y openjdk-7-jre-headless wget
RUN wget -q -O - http://apache.mirrors.pair.com/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz | tar -xzf - -C /opt \
&& mv /opt/zookeeper-3.4.6 /opt/zookeeper \
&& cp /opt/zookeeper/conf/zoo_sample.cfg /opt/zookeeper/conf/zoo.cfg \
&& mkdir -p /tmp/zookeeper
ENV JAVA_HOME /usr/lib/jvm/java-7-openjdk-amd64
EXPOSE 2181 2888 3888
WORKDIR /opt/zookeeper
VOLUME ["/opt/zookeeper/conf", "/tmp/zookeeper"]
ENTRYPOINT ["/opt/zookeeper/bin/zkServer.sh"]
CMD ["start-foreground"
【问题讨论】:
-
这仍然是个问题吗?您能否提供 DockerFile 和/或指向您尝试运行的映像以及您的 docker-compose.yml 文件以获得有关错误的更多信息?
-
是的,这仍然是一个问题。粘贴上面的docker文件。 docker-compose.yml 只是有这个内容 - zookeeper: image:
xyz: image : links: - zookeeper -
Dockerfile 缺少顶部的 from,这是您创建的图像吗?你试过其他的吗?
-
哦,实际上,我确实有“From”,图像构建成功。如果忘记粘贴那部分。刚刚添加了“From debian:jessie”语句,但这不是问题。
-
您的输出包含一条错误消息 (
Local-disk package '/packages/xyz.tar.gz' does not exist on disk)。产生此消息的原因是什么?什么是“xyz.tar.gz”?
标签: package docker apache-zookeeper docker-compose