在dockerfile中运行sql service up后的脚本



我有一个数据库为我的应用程序,我想创建它在运行时的docker

我有一个文件CreateDB.sh,它创建了我想要的所有表和存储过程。

我试过了:

FROM mcr.microsoft.com/mssql/server
ENV ACCEPT_EULA=Y 
SA_PASSWORD=qwe123QWE
USER root
RUN mkdir /home/db
COPY ./db /home/db
RUN chmod +x /home/db/DbScriptLinux.sh
WORKDIR /home/db/
CMD ["/bin/bash", "/home/db/DbScriptLinux.sh"]

但是返回错误:

LoginTimeout

是否有任何方法运行我的脚本后,所有的服务(sql-server)启动?

您可以使用if语句,例如,RUN if [[ -z "$arg" ]] ; then echo Argument not provided ; else echo Argument is $arg ; fi

另一种方法是使用command1 && command2,这样如果命令1成功,那么命令2将在之后运行。

您的最后一行CMD ["/bin/bash", "/home/db/DbScriptLinux.sh"]如果这是在每次启动容器时启动数据库,作为您的默认命令运行,那么应该是正确的,否则最好使用RUN命令。

相关内容

  • 没有找到相关文章

最新更新