1.原因
首先运行melon.sh,在melon.sh中运行了sh melon-algo-start.sh,但是找不到这个文件,DockerFile如下:
FROM centos:7
COPY melon.sh /opt
COPY melon-algo-start.sh /opt
RUN chmod +x /opt/melon.sh && chmod +x /opt/melon-algo-start.sh
ENTRYPOINT sh /opt/melon.sh $0 $@
COPY用于将构建上下文中的<源路径>的文/目录复制到镜像内的<目标路径>。上面的DockerFile都拷贝到了/opt目录下,不知道为什么当前目录是没办法找到的。
2.解决
(1)使用绝对路径。在melon.sh改成sh /opt/melon-algo-start.sh
(2) 使用 WORKDIR 指定工作目录。这时便可以用相对路径了