我正在尝试在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

最佳答案

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

确保SqlCmdStartup.sh的行末字符对于Unix是LF,而不是看起来像CR LF(Windows)。

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

关于docker - 在Dockerfile中运行脚本时出错,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50209158/

10-16 12:45