Docker on Windows
THE BEGINNER’S GUIDE
@EltonStoneman | elton@docker.com
Today
DOCKER ON WINDOWS
• Why Docker?
• Windows Apps in Docker
• Docker in Production
sqlservr.exe
w3wp.exe
gnatsd.exe
Why Docker?
Efficiency. 5X over VMs
8 VMs
40 containers
Efficiency. 5X over VMs
40 containers
1 Windows licence
Portability. Consistent deployment
Build Test Prod
Security. Provenance & trust
Security ScanningContent Trust
Docker on Windows
build
ship
run
> demo
.NET Fx
ASP.NET
Web App
Server Core
IIS
> docker image build
FROM microsoft/aspnet:windowsservercore
COPY UpgradeSample-1.0.0.0.msi /
RUN msiexec /i c:UpgradeSample-1.0.0.0.msi RELEASENAME=2017.02 /qn
# escape=`
FROM microsoft/windowsservercore
SHELL ["powershell", "-Command"]
RUN Add-WindowsFeature Web-server, `
NET-Framework-45-ASPNET, Web-Asp-Net45; `
Remove-Website -Name 'Default Web Site'
COPY ProductLaunchWeb /product-launch-web
RUN New-Website -Name 'product-launch' `
-PhysicalPath 'C:product-launch-web' -Port 80
EXPOSE 80
COPY bootstrap.ps1 /
ENTRYPOINT ./bootstrap.ps1
hub.docker.com
> docker image push
> docker container run
w3wp.exe
.NET Fx
ASP.NET
Web App
Server Core
IIS
> docker container run
> demo
Windows vs. Linux
Windows vs. Linux
w3wp.exe nginx
w3wp.exe nginx
w3wp.exe nginx
PS C:>
:~$
Manager Worker Worker
PS> docker …
Worker
> demo
Next Steps
THE CALL TO ACTION
• Docker Labs | dockr.ly/labs
• DockerCon | October, Copenhagen
• @EltonStoneman
THANK YOU :)
@EltonStoneman | elton@docker.com

WinOps 2017 - Docker on Windows, the Beginner's Guide