linux - `docker-compose build`在复制后找不到文件或目录
问题描述
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 不起作用的问题,并且研究了这个问题并且没有找到太多关于它的内容。
任何建议都会很棒!提前致谢。
解决方案
@DavidMaze 帮我解决了这个问题。\r
由于从 GitHub 下载文件时已转换为 DOS,因此行尾出错。运行dos2unix
解决了这个问题,我们添加了一个.gitattributes
,以便不再转换行尾。请参阅Shell 脚本对编码和行尾敏感吗?更多解决方案。
推荐阅读
- javascript - ng build --prod 不生成 dist 文件夹(角度 7)
- regex - 正则表达式查找具有起始词和结束词的最短字符串
- node.js - 如何将'semantic-ui'应用到我的 node.js 项目?node.js 视图由 pug 文件组成
- typescript - 单元测试后关闭 Mosca 代理会引发错误
- r - 漩涡包学习功能的问题
- c# - C# WPF - 创建在启动时加载 JSON 文件的对象
- reactjs - 使用 props、useState 和 useEffect 时如何防止重复渲染?
- c++ - 低级挂钩/SetWindowsHookEx lParam 自动重复?
- javascript - Javascript - 根据其他 json 的值过滤 geojson
- go - Go atomic store 后跟 atomic load 在例程中表现异常