【发布时间】:2021-01-28 21:43:16
【问题描述】:
docker-compose build --no-cache 失败并出现此错误:
---> Running in f62172d2e9f9
Removing intermediate container f62172d2e9f9
---> db5896c4aac5
Step 10/16 : COPY ./rclone/install.sh /data/rclone/
---> e659d60665cf
Step 11/16 : COPY ./rclone.conf /root/.config/rclone/rclone.conf
---> 61e3b9107870
Step 12/16 : RUN chmod +x ./rclone/install.sh
---> Running in 9c5eead9141b
Removing intermediate container 9c5eead9141b
---> 42fefac58542
Step 13/16 : RUN ./rclone/install.sh
---> Running in fbadefae8a57
': No such file or directory
ERROR: Service 'api' failed to build : The command '/bin/sh -c ./rclone/install.sh' returned a non-zero code: 127
这是 Dockerfile:
FROM node:10.22-alpine3.11
RUN apk update
RUN apk add --no-cache curl
RUN apk add --no-cache bash
RUN apk add --update python make g++\
&& rm -rf /var/cache/apk/*
RUN npm install pm2 -g
RUN apk add --update python make g++\
&& rm -rf /var/cache/apk/*
RUN apk add nginx
WORKDIR /data
COPY ./rclone/install.sh /data/rclone/
COPY ./rclone.conf /root/.config/rclone/rclone.conf
RUN chmod +x ./rclone/install.sh
RUN ./rclone/install.sh
COPY . /data/project/NodeApp
RUN chmod +x /data/project/NodeApp/scripts/.supervisor.sh
CMD /data/project/NodeApp/scripts/.supervisor.sh
关于导致此问题的原因以及如何解决此问题的任何想法? rclone 位于根文件夹中。我已经查看了之前回答的有关 docker-compose not working 的问题,并且研究了这个问题,但没有找到太多相关信息。
任何建议都会很棒!提前致谢。
【问题讨论】:
-
根据你的 Dockerfile
/data是根目录 -
@MargachChris,对,但它没有被复制到
/data中吗?我最近才开始接触 bash 命令。 -
这个看起来很奇怪的错误消息通常表明文件已被复制到 DOS 行结尾。你能检查文件是否有 Unix 行结尾吗?
-
chmod +x ./rclone/install.sh命令成功,所以这向我表明./rclone/install.sh是一个有效路径。No such file or directory错误可能来自install.sh脚本正在运行的某些东西。尝试将set -x添加到install.sh的开头,以确认脚本是否实际运行,以及脚本可能失败的位置。您还可以通过在您的chmod命令之后运行ls -l ./rclone/install.sh来确认脚本是否存在。 -
@DavidMaze 行尾是
\n和\r\n
标签: linux bash docker docker-compose