Macos Mac OS X中Dockerfile中运行shell脚本的问题

Macos Mac OS X中Dockerfile中运行shell脚本的问题,macos,docker,Macos,Docker,我正试图在macOS Catalina v10.15.4中使用Docker 当我试图在Dockerfile中运行./test.sh时,出现了一些错误 这是我的Dockerfile: 来自ubuntu:18.04的 运行mkdir-p/home/rootfs/src 复制test.sh/home/rootfs WORKDIR/home/rootfs 运行chmod+x test.sh&&./test.sh 当我尝试构建此脚本时,它没有找到如下脚本: $docker build-t测试。 将生成上

我正试图在macOS Catalina v10.15.4中使用Docker

当我试图在Dockerfile中运行./test.sh时,出现了一些错误

这是我的Dockerfile:

来自ubuntu:18.04的

运行mkdir-p/home/rootfs/src
复制test.sh/home/rootfs
WORKDIR/home/rootfs
运行chmod+x test.sh&&./test.sh
当我尝试构建此脚本时,它没有找到如下脚本:

$docker build-t测试。
将生成上下文发送到Docker守护程序264.6MB
步骤1/5:来自ubuntu:18.04
--->4e5021d210f6
步骤2/5:运行mkdir-p/home/rootfs/src
--->在d0813632475d中运行
拆卸中间容器d0813632475d
--->87a6e284993d
步骤3/5:复制test.sh/home/rootfs
--->26d281d0002c
步骤4/5:WORKDIR/home/rootfs
--->在4c7e81a514a7中运行
拆卸中间容器4c7e81a514a7
--->dab2872eb15a
步骤5/5:运行chmod+x test.sh&&./test.sh
--->在a03f3e5d29b4中运行
/bin/sh:1:./test.sh:未找到
命令'/bin/sh-chmod+x test.sh&&./test.sh'返回一个非零代码:127
我在macOS中检查test.sh
文件test.sh
的信息

得到这个:

test.sh:POSIX外壳脚本文本可执行文件,ASCII文本,带CRLF行终止符

您的
test.sh
脚本包含
文件test.sh
输出中指定的Windows行结尾。将它们转换为Unix行结尾:

$ dos2unix  test.sh
dos2unix: converting file test.sh to Unix format...

对我有用。
file test.sh
说了什么?@ArkadiuszDrabczyk我在macOS中运行
file test.sh
。得到这个:
test.sh:POSIX外壳脚本文本可执行文件,ASCII文本,带有CRLF行终止符