我试图在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中无法完成的事情?
谢谢