Skip to content

Instantly share code, notes, and snippets.

@phillipsj
Last active October 16, 2020 18:35
Show Gist options
  • Save phillipsj/a1d502bec6793aa915e6a9fe1aab25ab to your computer and use it in GitHub Desktop.
Save phillipsj/a1d502bec6793aa915e6a9fe1aab25ab to your computer and use it in GitHub Desktop.
A Dockerfile for restoring an Adventure Works databse on SQL Server for Linux.
# 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 AdventureWorks2019.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 AdventureWorks2019 FROM DISK = "/var/opt/mssql/backup/AdventureWorks2019.bak" WITH MOVE "AdventureWorks2017" to "/var/opt/mssql/data/AdventureWorks2019.mdf", MOVE "AdventureWorks2017_Log" to "/var/opt/mssql/data/AdventureWorks2019_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