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