Wissen/X17_Technology_Docker.ps1
# ! 1. Docker installieren Invoke-WebRequest -UseBasicParsing -Uri 'https://download.docker.com/win/stable/InstallDocker.msi' -OutFile "C:\Temp\InstallDocker.msi" Msiexec /i "C:\Temp\InstallDocker.msi" Install-Module -Name DockerMsftProvider # ! 2. Docker starten . "$env:ProgramFiles\Docker\Docker\Docker Desktop.exe" # ! 2. Zu Linux-Container wechseln # ! 3. SQL Server 2019-Image installieren docker pull mcr.microsoft.com/mssql/server:2019-latest # ! 4. sql2019-Container erstellen docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=P@ssw0rd" -p1433:1433 --name sql2019 -h sql2019 -d mcr.microsoft.com/mssql/server:2019-latest # ! 5. sql2019-Container starten docker start sql2019 # ! 6. Test-DB wiederherstellen Invoke-WebRequest -OutFile "C:\Temp\WideWorldImporters-Full.bak" -Uri "https://github.com/Microsoft/sql-server-samples/releases/download/wide-world-importers-v1.0/WideWorldImporters-Full.bak" docker exec -it sql2019 mkdir /var/opt/mssql/backup docker cp C:\Temp\WideWorldImporters-Full.bak sql2019:/var/opt/mssql/backup docker cp C:\Temp\AdventureWorks2016.bak sql2019:/var/opt/mssql/backup Import-Module -Name SqlServer -Force Invoke-Sqlcmd -ServerInstance localhost -Username sa -Password "P@ssw0rd" -Database master -Query @" RESTORE DATABASE [WideWorldImporters] FROM DISK = N'/var/opt/mssql/backup/WideWorldImporters-Full.bak' WITH FILE = 1 , MOVE N'WWI_Primary' TO N'/var/opt/mssql/data/WideWorldImporters.mdf' , MOVE N'WWI_UserData' TO N'/var/opt/mssql/data/WideWorldImporters_UserData.ndf' , MOVE N'WWI_Log' TO N'/var/opt/mssql/data/WideWorldImporters.ldf' , MOVE N'WWI_InMemory_Data_1' TO N'/var/opt/mssql/data/WideWorldImporters_InMemory_Data_1' "@ Invoke-Sqlcmd -ServerInstance localhost -Username sa -Password "P@ssw0rd" -Database master -Query @" RESTORE DATABASE [AdventureWorks2016] FROM DISK = N'/var/opt/mssql/backup/AdventureWorks2016.bak' WITH FILE = 1 , MOVE N'AdventureWorks2016_Data' TO N'/var/opt/mssql/data/AdventureWorks2016_Data.mdf' , MOVE N'AdventureWorks2016_Log' TO N'/var/opt/mssql/data/AdventureWorks2016_Log.ldf' "@ # ! 7. SQL Server 2019-Container stoppen docker stop sql2019 docker ps # ! 8. Container löschen docker rm sql2019 # ! 9. Images löschen docker rmi mcr.microsoft.com/mssql/server:2019-latest |