Docker`COPY`文件无效

时间:2018-05-22 06:54:15

标签: docker

我有一个相对简单的dockerfile

FROM python:3.6.5-alpine

COPY somebinary /usr/local/bin/

COPY install.sh /install.sh
RUN /install.sh

二进制文件被复制得很好(当我运行容器进行检查时)但是脚本似乎没有被复制,因此当我尝试运行它时,我得到:

Step 4/5 : COPY install.sh /install.sh
 ---> 38ecc6dbad13
Step 5/5 : RUN /install.sh
 ---> Running in 0b06962d6e1b
/bin/sh: /install.sh: not found
The command '/bin/sh -c /install.sh' returned a non-zero code: 127

我制作的任何其他测试文件都会出现同样的情况,运行图像时它们不可用。其他人已成功运行完全相同的脚本,所以我怀疑这可能与我在Windows上通过Git Bash运行docker的事实有关?这可能是权限吗?

e:我去尝试运行powershell并得到了同样的错误,所以也许git bash是一个红鲱鱼

1 个答案:

答案 0 :(得分:4)

您的install.sh脚本似乎有^ M个字符 尝试将install.sh保存为unix格式。 dos2unix

使用notepad ++或sublime或任何其他支持将行尾从Windows转换为UNIX格式的编辑器。