Running Docker containers
From Tech-Wiki
Install Container feature, install Docker.
Pull an image
docker pull mcr.microsoft.com/windows/nanoserver:ltsc2022
List images
docker images
Run image
docker run -it mcr.microsoft.com/windows/nanoserver:ltsc2022 cmd.exe echo "Hello World!" > Hello.txt exit
Update image
docker ps -a docker commit <containerid> helloworld docker ps -a (now it shows 2)
Run this custom image
docker run --rm helloworld cmd.exe /s /c type Hello.txt
Pull IIS
docker pull mcr.microsoft.com/windows/servercore/iis
Dockerfile example
FROM mcr.microsoft.com/windows/servercore/iis RUN mkdir C:\Temp COPY *.ps1 /Temp RUN powershell -Command blah blah… RUN powershell -File /Temp/blah.ps1 WORKDIR /inetpub/wwwroot COPY app1/ . # or ADD app1 /inetpub/wwwroot
Run it
docker build -t test-image . docker run -d -p 8080:80 --name test-container test-image docker inspect -f "{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}" test-container
For IIS, install IIS Manager for Remote Administration, create local account on container, and enable service using this Dockerfile
FROM mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2022 RUN net user admin p4ssw0rd /ADD RUN net localgroup administrators admin /ADD RUN powershell.exe -command \ Install-WindowsFeature Web-Mgmt-Service; \ Set-ItemProperty -Path "HKLM:SOFTWARE\Microsoft\WebManagement\Server" -Name "EnableRemoteManagement" -Value 1; \ Set-Service WMSVC -StartupType Automatic;