This page explains how to get the software you need to build, test and run the Docker source code for Windows and setup the required software and services:
To test and run the Windows Docker daemon, you need a system that supports Windows Containers:
Check out the getting started documentation for details.
To contribute to the Docker project, you need a GitHub account. A free account is fine. All the Docker project repositories are public and visible to everyone.
This guide assumes that you have basic familiarity with Git and Github terminology and usage. Refer to GitHub For Beginners: Don’t Get Scared, Get Started to get up to speed on Github.
In PowerShell, run:
Invoke-Webrequest "https://github.com/git-for-windows/git/releases/download/v2.7.2.windows.1/Git-2.7.2-64-bit.exe" -OutFile git.exe -UseBasicParsing Start-Process git.exe -ArgumentList '/VERYSILENT /SUPPRESSMSGBOXES /CLOSEAPPLICATIONS /DIR=c:\git\' -Wait setx /M PATH "$env:Path;c:\git\cmd"
You are now ready clone and build the Docker source code.
In a new (to pick up the path change) PowerShell prompt, run:
git clone https://github.com/docker/docker cd docker
This clones the main Docker repository. Check out Docker on GitHub to learn about the other software that powers the Docker platform.
Create a builder-container with the Docker source code. You can change the source code on your system and rebuild any time:
docker build -t nativebuildimage -f .\Dockerfile.windows .
To build Docker, run:
docker run --name out nativebuildimage sh -c 'cd /c/go/src/github.com/docker/docker; hack/make.sh binary'
Copy out the resulting Windows Docker daemon binary to dockerd.exe in the current directory:
docker cp out:C:\go\src\github.com\docker\docker\bundles\$(cat VERSION)\binary-daemon\dockerd-$(cat VERSION).exe dockerd.exe
To test it, stop the system Docker daemon and start the one you just built:
Stop-Service Docker .\dockerd-1.13.0-dev.exe -D
The other make targets work too, to run unit tests try:
docker run --rm docker-builder sh -c 'cd /c/go/src/github.com/docker/docker; hack/make.sh test-unit'.
In the next section, you’ll learn how to set up and configure Git for contributing to Docker.