SQL Server in Windows Containers
Windows Containers are an isolated, resource controlled, and portable operating environment. An application inside a container can run without affecting the rest of the system and vice versa. This isolation makes SQL Server in a Windows Container ideal for Rapid Test Deployment scenarios as well as Continuous Integration Processes. This blog provides a step by step guide of setting up SQL Server Express 2014 in a Windows Container by using this community-contributed Dockerfile.
Prerequisites
• System running Windows Server Technical Preview 4 or later.
• 10GB available storage for container host image, OS Base Image and setup scripts.
• Administrator permissions on the system.
Setup a VM or a physical machine as a Windows Container Host
Step 1: Start a PowerShell session as administrator. This can be done by running the following command from the command line.
PS C:\> powershell.exe
Step 2: Use the following command to download the setup script. Note: The script can also be manually downloaded from this location - Configuration Script.
wget -uri https://aka.ms/tp4/Install-ContainerHost -OutFile C:\Install-ContainerHost.ps1
Step 3: After the download completes, execute the script.
PS C:\> powershell.exe -NoProfile C:\Install-ContainerHost.ps1
With these steps completed your system should be ready for Windows Containers. You can follow this link to read the full article that describes more on setting up a VM or a physical machine as a Windows Container Host.
Installing SQL Server Express 2014 in a Windows Container
Step 1: Copy all files from this community-contributed Dockerfile locally into your c:\sqlexpress folder.
Note: All files were provided by brogersyh . The Dockerfile contains all the SQL Server configuration settings (ports, passwords etc.) that you can customize if needed.
Step 2: Start a PowerShell session and run the following command:
docker build -t sqlexpress .
Starting SQL Server
Step 1: Start a PowerShell session and run the following command:
docker run -it -p 1433:1433 sqlexpress cmd
Step 2: Enter PowerShell in the Container Window by typing:
Powershell
Step 3: Start SQL Server by running the following PS Script (downloaded from step2):
./start
Step 4: Verify that SQL Server is running with the following command:
get-service *sql*
Next Steps
We are currently working on testing and publishing SQL Server Container Images that could speed up the process of getting started with SQL Server in Windows Containers significantly. Stay tuned for an update!
Further Reading
Windows Containers Overview Windows-based containers: Modern app development with enterprise-grade control.
Windows Containers: What, Why and How