Dockerfile-在映像中播种数据库

时间:2018-09-10 03:02:02

标签: sql-server docker dockerfile

我试图在Dockerfile中播种数据库,以便一旦容器启动就已经有可用数据。我意识到这不是最佳实践,但是数据库是古老的,为此编写一个种子将在Entrypoint上执行将是浪费时间。

我的Dockerfile如下:

FROM microsoft/mssql-server-linux:2017-latest

ENV SA_PASSWORD Secret100
ENV ACCEPT_EULA Y

WORKDIR /var/sql/
COPY ./* ./

RUN "/opt/mssql/bin/sqlservr" & && \
    until /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P Secret100 -Q 'SELECT @@VERSION;'; do sleep 1; done; && \
    /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P Secret100 -Q "CREATE DATABASE MATRIX;" && \
    /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P Secret100 -d MATRIX -i /var/sql/SEED_MATRIX.sql > /dev/null

CMD ['/opt/mssql/bin/sqlservr']

我遇到/bin/sh: 1: Syntax error: "&&" unexpected 的错误

我的语法无效还是在Dockerfile中无法完成的事情?

谢谢

0 个答案:

没有答案