Я пытался запустить SQL Server 2017 внутри Docker, а также восстановить в нем резервную копию. Я могу запустить сервер SQL, но мне кажется, что я не могу успешно восстановить резервную копию. Я не получаю никаких ошибок. Я пытался исследовать с:
docker exec -it 44327a4ce101 sh
Файлы на моем рабочем столе:
Как видите, папка tmp пуста внутри контейнера docker. Но почему?
Dockerfile:
FROM mcr.microsoft.com/mssql/server:2017-latest AS BUILD
ENV ACCEPT_EULA=Y
ENV SA_PASSWORD=Pwd12345!
WORKDIR /tmp
COPY AdventureWorksLT2017.bak .
COPY restore-backup.sql .
RUN /opt/mssql/bin/sqlservr --accept-eula & sleep 10 \
&& /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "Pwd12345!" -i /tmp/restore-backup.sql \
&& pkill sqlservr
FROM mcr.microsoft.com/mssql/server:2017-latest AS RELEASE
ENV ACCEPT_EULA=Y
COPY --from=build /var/opt/mssql/data /var/opt/mssql/data
восстановление-резервное копирование. sql
RESTORE DATABASE [AdventureWorks] FROM DISK = '/tmp/AdventureWorksLT2017.bak'
WITH FILE = 1,
MOVE 'AdventureWorksLT2012_Data' TO '/var/opt/mssql/data/AdventureWorks.mdf',
MOVE 'AdventureWorksLT2012_Log' TO '/var/opt/mssql/data/AdventureWorks.ldf',
NOUNLOAD, REPLACE, STATS = 5
GO
RESTORE FILELISTONLY FROM DISK = 'C:\Temp\docker\AdventureWorksLT2017.bak'