Я пытаюсь заполнить базу данных в 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?
Спасибо