脚本尝试在Dockerfile中查找.sh时出现错误“未找到”

时间:2018-09-25 16:27:51

标签: docker-compose dockerfile odm

DockerFile-路径为rootDirectory / odm-ondocker / decisionserver / decisionserver控制台。

ARG FROMLIBERTY
FROM maven:3.5.2-jdk-8-alpine AS builder
ARG ODMDOCKERDIR
ENV ODMDOCKERDIR $ODMDOCKERDIR
ENV SCRIPT /script
ENV APPS /config/apps
COPY $ODMDOCKERDIR/welcomepage /welcomepage
COPY $ODMDOCKERDIR/common/script $SCRIPT
COPY $ODMDOCKERDIR/common/drivers /config/resources
COPY $ODMDOCKERDIR/common/features $SCRIPT
COPY $ODMDOCKERDIR/decisionserver/decisionserverconsole/script $SCRIPT
COPY $ODMDOCKERDIR/decisionserver/decisionserverruntime/script $SCRIPT
# Use production liberty if needed
RUN echo $SCRIPT
COPY $ODMDOCKERDIR/resources/* /wlp-embeddable/
RUN chmod a+x $SCRIPT/fixWLPForProduction.sh && sync && $SCRIPT/fixWLPForProduction.sh
# Install missing require package in the alpine builder image
RUN apk add --no-cache bash perl ca-certificates wget
# Build Welcome page
RUN cd /welcomepage; mvn -B clean install | grep -v 'Download.*' && mkdir -p $APPS

我在运行RUN chmod a + x $ SCRIPT / fixWLPForProduction.sh时出错,并且&&sync && $ SCRIPT / fixWLPForProduction.sh如下:-

/ bin / sh:/script/fixWLPForProduction.sh:找不到 错误:服务“ odm-decisionserverconsole”生成失败:命令“ / bin / sh -c chmod a + x $ SCRIPT / fixWLPForProduction.sh && sync && $ SCRIPT / fixWLPForProduction.sh”返回非零代码:127 < / p>

我是docker的新手,因此尽管该文件位于根目录/ common / scripts文件夹中,也无法弄清楚它为什么会出现。我想通了,它正在尝试查找/ odm-ondocker / common / script下的脚本文件夹。我尝试将SCRIPT变量的值设置为/ common / script,但仍将其设置为Not Found。

1 个答案:

答案 0 :(得分:0)

运行chmod a + x $ SCRIPT / fixWLPForProduction.sh &&同步&& $ SCRIPT / fixWLPForProduction.sh
 正在寻找ENV SCRIPT命令定义的脚本/script/fixWLPForProduction.sh。但是您在评论中说脚本是/common/script/fixWLPForProduction.sh尝试使用此脚本 ENV SCRIPT / common / script或使用脚本的绝对路径。从那里,您可以知道如何正确设置ENV变量