-
Notifications
You must be signed in to change notification settings - Fork 3
/
Dockerfile.db.mssql
42 lines (28 loc) · 1.18 KB
/
Dockerfile.db.mssql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
FROM microsoft/mssql-server-linux:2017-GA
RUN apt-get update && apt-get install dos2unix
ENV ACCEPT_EULA=Y
ENV SA_PASSWORD=SQLServerPass1
RUN mkdir -p /scripts
ADD mssql.restore.sql /scripts/restore.sql
ADD mssql.start.sh /start.sh
RUN chmod 755 /start.sh
VOLUME /restore
CMD []
ENTRYPOINT ["./start.sh"]
# Build
# docker build -t local/mssql -f Dockerfile.db.mssql .
# Run
# docker stop mssql; docker rm mssql; docker volume rm mssql_data
# docker volume create --name mssql_data
# docker run -d --name mssql -v mssql_data:/var/opt/mssql -v $(pwd)/env/restore:/restore -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=SQLServerPass1' -p 1433:1433 local/mssql
# Print Restore Db Name
# docker run -it --rm -v $(pwd)/env/restore:/restore local/mssql print-restore-db
# NOTES
# sqlcmd -S %1 -i select.sql -v dbname = %2 tablename = %3 -o %4
#
#
# docker exec -it mssql /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P SQLServerPass1
# > EXEC master..xp_dirtree "/restore", 10, 1
# > RESTORE FILELISTONLY FROM DISK = '/restore/OIPA_Sandbox_backup_20170821070015.bak'
# > RESTORE DATABASE OIPA FROM DISK = '/restore/OIPA_Sandbox_backup_20170821070015.bak' WITH REPLACE;
# > SELECT NAME FROM SYS.DATABASES