Skip to content

Instantly share code, notes, and snippets.

@phillipsj
Last active October 17, 2020 01:19
Show Gist options
  • Save phillipsj/9412cc4f6f6d1612c57a523611c0a02c to your computer and use it in GitHub Desktop.
Save phillipsj/9412cc4f6f6d1612c57a523611c0a02c to your computer and use it in GitHub Desktop.
Dockerfile for restoring an AdventureWorks2017 database.
# Adventure Works Database on SQL Server 2019
FROM mcr.microsoft.com/mssql/server:2019-CU5-ubuntu-18.04
# Note: This isn't a secure password, and please don't use this for production.
ENV SA_PASSWORD=ThisIsAReallyCoolPassword123
ENV ACCEPT_EULA=Y
# Setting the user
USER mssql
COPY AdventureWorks2017.bak /var/opt/mssql/backup/
# Launch SQL Server, confirm startup is complete, restore the database, then terminate SQL Server.
RUN ( /opt/mssql/bin/sqlservr & ) | grep -q "Service Broker manager has started" \
&& /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P ${SA_PASSWORD} -Q 'RESTORE DATABASE AdventureWorks2017 FROM DISK = "/var/opt/mssql/backup/AdventureWorks2017.bak" WITH MOVE "AdventureWorks2017" to "/var/opt/mssql/data/AdventureWorks2017.mdf", MOVE "AdventureWorks2017_Log" to "/var/opt/mssql/data/AdventureWorks2017_log.ldf", NOUNLOAD, STATS = 5' \
&& pkill sqlservr
CMD ["/opt/mssql/bin/sqlservr"]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment