首页 > 解决方案 > Dockerfile RUN - 找不到文件

问题描述

我正在尝试执行(RUN)一个脚本,但我收到一个未找到文件的错误:

该行是:RUN settings/certs/install-certs.sh

使用来自同一路径的文件的其他行不会导致任何问题。

我在这里想念什么?

Dockerfile:

FROM container-registry.ubs.net/maven:3.6.1-alpine as build
WORKDIR /app
COPY . .
RUN chmod +x settings/certs/install-certs.sh
RUN settings/certs/install-certs.sh
RUN mvn clean install -s settings/maven/docker-settings.xml

输出:

Sending build context to Docker daemon    218MB
Step 1/13 : FROM container-registry.ubs.net/maven:3.6.1-alpine as build
 ---> 7445f83cd169
Step 2/13 : WORKDIR /app
 ---> Using cache
 ---> b08dcd4a3395
Step 3/13 : COPY . .
 ---> Using cache
 ---> c843717f9c58
Step 4/13 : RUN chmod +x settings/certs/install-certs.sh
 ---> Using cache
 ---> 17c6546c749b
Step 5/13 : RUN settings/certs/install-certs.sh
 ---> Running in 106d58b6bb25
/bin/sh: settings/certs/install-certs.sh: not found
The command '/bin/sh -c settings/certs/install-certs.sh' returned a non-zero code: 127

标签: dockerdockerfile

解决方案


事实证明,行分隔符是失败的原因,替换CRLFLF成功了。

很难识别错误何时显示“找不到文件”。


推荐阅读