dockerfile文件中crlf与lf换行符问题
dockerfile中的文件是运行在linux虚拟机上的,只支持lf换行符。
在执行install.sh等sh脚本文件时,会报错/r无法编译的问题,这是windows的crlf换行符与linux的lf换行符转换的问题。
使用vscode转换没法转换所有sh脚本文件,则在dockerfile中加入如下指令
# 安装 dos2unix(如果基础镜像没有)
RUN apt-get update && apt-get install -y dos2unix# 递归修复所有 .sh 文件的换行符(包括子目录)
RUN find /repo -type f -name "*.sh" -exec dos2unix {} \;# 然后执行 install.sh
RUN chmod +x install.sh && ./install.sh
解决问题