JavaScript Dockerfile PowerShell Shell HTML CSS Other
Switch branches/tags
Clone or download
Latest commit 91ba6ca Aug 15, 2018
Permalink
Failed to load latest commit information.
CVE-2017-0290 Update to 10.0.14393.2007 Jan 6, 2018
apache [ci skip] Add badge Mar 14, 2018
busybox Update curl image Mar 10, 2018
caddy Update Caddy 0.10.12 Mar 27, 2018
chocolatey Trigger rebuild chocolatey Jul 25, 2018
compose-issue-5371 Enable TLS 1.2 in PowerShell Mar 8, 2018
compose Small LCOW example with docker-compose Mar 14, 2018
consul Rebuild consul 0.7.5 for 1709 Apr 12, 2018
curl Use 1607 tag to have that image as first in manifest list Mar 9, 2018
diskspd Update base image 2068 Feb 16, 2018
docker-cli Update Docker CLI 18.06.0-ce Aug 15, 2018
docker Update build.sh to build PR 27455 docker manifest command May 17, 2017
dockertls Add environment variable for SSL expiry days & update Dockerfile Jun 19, 2018
dsc Update base image 2068 Feb 16, 2018
elasticsearch Update SHELL with = 'SilentlyContinue' Dec 1, 2016
getaddrinfo Update base image 2068 Feb 16, 2018
git-for-windows-issue Enable TLS 1.2 in PowerShell Mar 8, 2018
go-winio-issue-67 Add example for Microsoft/go-winio#67 Sep 17, 2017
golang-issue-18555 Improve output Apr 30, 2017
golang-issue-21867 Show struct with keywords Mar 22, 2018
golang-netapi-helper Add netapi-helper image for some golang binaries Mar 9, 2018
golang Enable TLS 1.2 in PowerShell Mar 8, 2018
iis Update base image 2068 Feb 16, 2018
iisnode Update SHELL with = 'SilentlyContinue' Dec 1, 2016
java Enable TLS 1.2 in PowerShell Mar 8, 2018
jenkins-swarm-slave Add README Jun 1, 2017
jenkins Install Jenkins 2.50 Mar 14, 2017
libuv Disable chocolatey progress Nov 3, 2017
longpath Test tar.exe with long paths Feb 3, 2018
mongo Update MongoDB 3.4.15 and 3.6.5 May 26, 2018
msbuild Update base image 2068 Feb 16, 2018
nanoserverapiscan Update base image 2068 Feb 16, 2018
netapi-helper Prepare netapi-helper for 1709 and 1803 May 15, 2018
node-consul-env Update TP5 May 2, 2016
node-consul Update TP5 May 2, 2016
node-example Update nodemon demo for insider 17074 Jan 17, 2018
node-hello-express Fix potential vulnerability in ejs dependency Dec 1, 2017
node Update Node.js 10.8.0 Aug 6, 2018
nodejs-node-8897 Update base image 2068 Feb 16, 2018
nodew Build console-less nodew.exe Feb 4, 2018
openssl Update base image 2068 Feb 16, 2018
perl Update base image 2068 Feb 16, 2018
php Using UseBasicParsing for every request Apr 7, 2017
portainer Dockerfile for 1709 Oct 26, 2017
poshspec Update base image 2068 Feb 16, 2018
postgres Update PostreSQL 10.2, base image 2068 Feb 16, 2018
powercli Update base image 2068 Feb 16, 2018
powershell-50-characters Update base image 2068 Feb 16, 2018
printcommandline Update base image 2068 Feb 16, 2018
procmon Update base image 2068 Feb 16, 2018
prometheus Trigger prometheus build Mar 9, 2018
python Update base image 2068 Feb 16, 2018
quotes Update base image 2068 Feb 16, 2018
realpath Update base image 2068 Feb 16, 2018
registry Add some more details about running secure registry Mar 24, 2018
ruby Update base image 2068 Feb 16, 2018
serverspec Fix tests Jan 7, 2018
signtool Add signtool helper script Aug 3, 2017
spaces Update base image 2068 Feb 16, 2018
spooler Add Dockerfile for Windows spooler Jul 19, 2018
stack Use Windows backslashes Jan 17, 2018
swarm Test only version Mar 9, 2018
testvolume Update base image 2068 Feb 16, 2018
traefik Trigger traefik deploy Jul 12, 2018
unicode Add more tests Jan 20, 2018
webserver Update base image 2068 Feb 16, 2018
windows-service Playing with a Windows Service and user account Jan 4, 2018
xterm Add vimrc Sep 30, 2017
LICENSE Add LICENSE Jan 13, 2016
Links.md Add WIP link, add Win10 Insider link May 30, 2016
PowerShellTricks.md List processes in a container with PID, PPID and command line Dec 22, 2017
README.md Add 1803 May 10, 2018
appveyor.yml Debug rebase Aug 15, 2018
build.ps1 Do not update base images Oct 6, 2017
deploy.ps1 Trigger build node 10.7.0 Jul 24, 2018
test.ps1 Switch to ps1 Mar 25, 2017
update-docker-cli.ps1 Docker CLI 18.05.0-ce already installed Jul 12, 2018
update-docker.ps1 Install Package provider Jul 19, 2018

README.md

dockerfiles-windows

Build status

Various Dockerfiles for Windows. Most of these can be run as Windows Containers on Windows 10, Windows Server 2016, Windows Server 1709 and Windows Server 1803.

Most of these Dockerfiles are automatically built on AppVeyor and pushed to Docker Hub. See the badges in each sub folder's README files.

Getting started

Windows 10

Windows Server 2016

Windows Server 1709

  • Get a Windows Server 1709 Virtual Machine
    • Packer and Vagrant
      • Use Packer with this packer-windows templates to build the windows_server_1709_docker Vagrant box]. You need the ISO file from your MSDN subscription.
      • Use Vagrant and this windows-docker-machine Vagrantfile to have Docker and lots of Docker Tools installed. Run vagrant up 1709.
    • Azure
  • Clone this repo and create some Docker images. Look for the Dockerfile.1709 files.
  • It is recommended to use the smaller base images microsoft/nanoserver:1709 and microsoft/windowsservercore:1709.

Windows Server 1803

  • Get a Windows Server 1803 Virtual Machine
    • Packer and Vagrant
      • Use Packer with this packer-windows templates to build the windows_server_1803_docker Vagrant box]. You need the ISO file from your MSDN subscription.
      • Use Vagrant and this windows-docker-machine Vagrantfile to have Docker and lots of Docker Tools installed. Run vagrant up 1803.
      • Clone this repo and create some Docker images. Look for the Dockerfile.1803 files.
      • It is recommended to use the smaller base images microsoft/nanoserver:1803 and microsoft/windowsservercore:1803.

Further reading

PowerShell tricks

Porting Dockerfiles from Linux to Windows I found it useful to use PowerShell at some points. Here are some PowerShell tricks that were useful for me.

Feedback and Pull Requests are welcome

If you have some improvements, bug fixes, some new Dockerfiles or more PowerShell tricks, just send me a PR. If you have questions or problems, open an issue for discussion.

Troubleshooting

If you have trouble running Windows Containers you should have a look at https://docs.microsoft.com/virtualization/windowscontainers/troubleshooting

Invoke-WebRequest https://aka.ms/Debug-ContainerHost.ps1 -UseBasicParsing | Invoke-Expression

License

MIT - for more details see the LICENSE file.