The installation using Docker is the recommended method to deploy DS Server on one or more servers. The easiest way to test the installation is to install Docker for Windows to create the DS Server Docker image.
The following tutorial shows how to create a Dockerfile to create a working image.
Create a new folder and name it DSServerDocker.
Download the ZIP file from the online store (DS-0110-XB.zip) that contains all the required files for your private DS Server installation and copy it into the created folder DSServerDocker.
Create a file named Dockerfile (no extension), open it using any editor and paste the following content into it:
# https://hub.docker.com/_/microsoft-windows-servercore
# "ltsc2016" to get fonts installed
FROM mcr.microsoft.com/windows/servercore:ltsc2016
# Copy the zip folder application to "C:\" on container machine
COPY DS-0300-XB.zip DS-0300-XB.zip
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]
# Unzip the application to "C:\DocumentServices"
RUN Expand-Archive -Path DS-0300-XB.zip -DestinationPath C:\DocumentServices
# Install IIS
RUN Enable-WindowsOptionalFeature -Online -FeatureName IIS-WebServerRole; \
Enable-WindowsOptionalFeature -Online -FeatureName IIS-WebServer; \
Enable-WindowsOptionalFeature -Online -FeatureName IIS-CommonHttpFeatures; \
Enable-WindowsOptionalFeature -Online -FeatureName IIS-WebSockets
# Download and install Visual C++ Redistributable Packages for Visual Studio 2013
RUN Invoke-WebRequest -OutFile vc_redist.x64.exe https://download.microsoft.com/download/2/E/6/2E61CFA4-993B-4DD4-91DA-3737CD5CD6E3/vcredist_x64.exe; \
Start-Process "vc_redist.x64.exe" -ArgumentList "/passive" -wait -Passthru; \
del vc_redist.x64.exe
# Download and install Visual C++ Redistributable Packages for Visual Studio 2015
RUN Invoke-WebRequest -OutFile vc_redist.x64.exe https://download.microsoft.com/download/6/A/A/6AA4EDFF-645B-48C5-81CC-ED5963AEAD48/vc_redist.x64.exe; \
Start-Process "vc_redist.x64.exe" -ArgumentList "/passive" -wait -Passthru; \
del vc_redist.x64.exe
# Install ASP.NET Core Runtime
# Checksum and direct link from: https://dotnet.microsoft.com/permalink/dotnetcore-current-windows-runtime-bundle-installer
RUN Invoke-WebRequest -OutFile dotnet-hosting-6.0.9-win.exe https://download.visualstudio.microsoft.com/download/pr/eaa3eab9-cc21-44b5-a4e4-af31ee73b9fa/d8ad75d525dec0a30b52adc990796b11/dotnet-hosting-6.0.9-win.exe; \
Start-Process "dotnet-hosting-6.0.9-win.exe" -ArgumentList "/passive" -wait -Passthru; \
Remove-Item -Force dotnet-hosting-6.0.9-win.exe;
# Install ASP.NET Desktop Runtime
# Checksum and direct link from: https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/runtime-desktop-6.0.9-windows-x64-installer
RUN Invoke-WebRequest -OutFile windowsdesktop-runtime-6.0.9-win-x64.exe https://download.visualstudio.microsoft.com/download/pr/fe8415d4-8a35-4af9-80a5-51306a96282d/05f9b2a1b4884238e69468e49b3a5453/windowsdesktop-runtime-6.0.9-win-x64.exe; \
Start-Process "windowsdesktop-runtime-6.0.9-win-x64.exe" -ArgumentList "/passive" -wait -Passthru; \
Remove-Item -Force windowsdesktop-runtime-6.0.9-win-x64.exe;
# Create a new IIS ApplicationPool
RUN $appPoolName = 'DSServer'; \
New-WebAppPool $appPoolName; \
Import-Module WebAdministration; \
$appPool = Get-Item IIS:\AppPools\$appPoolName; \
$appPool.managedRuntimeVersion = ''; \
$appPool | set-item
RUN $appPoolName = 'DSServer'; \
$appName = 'DocumentServices'; \
New-WebApplication -Name $appName -Site 'Default Web Site' -PhysicalPath C:\DocumentServices -ApplicationPool $appPoolName
# Remove files
RUN del DS-0300-XB.zip
Assume that you have installed Docker for Windows, open a PowerShell command window with explicit administrator rights and change to the directory where you created the folder docker-test.
Type in the following command to build the Docker image based on the Dockerfile in the same directory:
docker build -t dsserver .
Start the container with one of the following commands:
docker run -it -p 5000:80 --name mydsserver dsserver
In the Docker Dashboard, you can see the running container listening on port 5000. Open a browser and navigate to http://localhost:5000/DocumentServices to see your deployed web application.