在Dockerfile中运行脚本时出错

时间:2018-05-07 07:32:08

标签: docker dockerfile

我正在尝试在file.sh脚本中运行一个简单的命令,但是无法正常工作。

我的Dockerfile就像这样

FROM microsoft/mssql-server-linux:2017-latest
ENV SA_PASSWORD=Passw0rd
ENV ACCEPT_EULA=Y
COPY entrypoint.sh entrypoint.sh
COPY SqlCmdStartup.sh SqlCmdStartup.sh
COPY SqlCmdScript.sql SqlCmdScript.sql
RUN chmod +x ./SqlCmdStartup.sh
CMD /bin/bash ./entrypoint.sh

SqlCmdStartup.sh的第一行是

sleep 20s

但是我收到了这个错误:

sleep: invalid time interval '20s\r'
Try 'sleep --help' for more information.

我正在关注这个例子: https://msdn.microsoft.com/en-us/magazine/mt784660.aspx

1 个答案:

答案 0 :(得分:1)

错误消息中的\r表示您的行结尾编码错误。

确保SqlCmdStartup.sh的行结束字符为Unix而不是CR LF(Windows)的LF。似乎是。

此处有更多详情:Difference between CR LF, LF and CR line break types?