Private/Wissen/X_Technology/X72_Docker.ps1
<#
# Docker Docker mit PowerShell managen. - **Hashtags** Docker - **Version** 2020.01.13 #> #region Docker installieren & konfigurieren # ! 1. Docker installieren Set-Location -Path C:\Temp Invoke-WebRequest -UseBasicParsing -Uri 'https://download.docker.com/win/stable/Docker%20Desktop%20Installer.exe' -OutFile ".\Docker Desktop Installer.exe" Start-Process -FilePath '.\Docker Desktop Installer.exe' -Wait Install-Module -Name DockerMsftProvider -SkipPublisherCheck -Force # ! 2. Docker starten Set-Location $env:ProgramFiles\Docker Start-Process -FilePath ".\Docker\Docker Desktop.exe" # ! 3. Zu Linux-Container wechseln .\docker\DockerCli.exe -SwitchLinuxEngine #endregion #region SQL Server Container # ! 4. SQL Server 2019-Image installieren docker pull "mcr.microsoft.com/mssql/server:2019-latest" # ! 5. 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 # ! 6. sql2019-Container starten docker start sql2019 # ! 7. Übungs-/Test-DB einrichten Set-Location -Path C:\Temp Invoke-WebRequest -OutFile ".\WideWorldImporters-Full.backup" -Uri "https://github.com/Microsoft/sql-server-samples/releases/download/wide-world-importers-v1.0/WideWorldImporters-Full.bak" Invoke-WebRequest -OutFile ".\AdventureWorks2016.backup" -Uri "https://github.com/Microsoft/sql-server-samples/releases/download/adventureworks/AdventureWorks2016.bak" docker exec -it sql2019 mkdir /var/opt/mssql/backup docker cp .\WideWorldImporters-Full.backup sql2019:/var/opt/mssql/backup docker cp .\AdventureWorks2016.backup sql2019:/var/opt/mssql/backup Install-Module -Name SqlServer -Scope CurrentUser -AllowClobber -SkipPublisherCheck -AcceptLicense Import-Module -Name SqlServer -Verbose -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.backup' 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.backup' 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' "@ # ! 8. SQL Server 2019-Container stoppen docker stop sql2019 docker ps # ! 9. Container löschen docker rm sql2019 # ! 10. Images löschen docker rmi mcr.microsoft.com/mssql/server:2019-latest #endregion |