Background
Following the Docker and Microsoft announcement in October 2014 (http://news.microsoft.com/2014/10/15/dockerpr/), and the recent PR #9113 for the port of the Docker client portion to Windows, this proposal is for the initial work necessary for the Docker daemon to compile on Windows.
Problem Statement
The existing daemon code base does not compile cross-platform for Windows. This is largely due to a number of ‘Linuxisms’ and system calls which do not have matching Windows counterparts.
Linux specific calls will be factored out by various techniques such as filename_Linux.go and filename_Windows.go; through use of runtime.GOOS conditions; and/or through build tags.
A simple example of the type of factoring would be removing support of the Unix HTTP namespace on Windows (but keeping it on Linux). Windows would support the TCP HTTP namespace only.
In addition, dummy no-op drivers will be added for future support of Windows containers.
Expectations
At the end of the series of PRs relating to this proposal, it is expected that the Docker Daemon will initialise and listen for requests on a TCP port on a Windows platform. It will be largely non-functional except for responding to “version” and “info”.
The functionality of the Docker daemon on Linux platforms will be unchanged.
Background
Following the Docker and Microsoft announcement in October 2014 (http://news.microsoft.com/2014/10/15/dockerpr/), and the recent PR #9113 for the port of the Docker client portion to Windows, this proposal is for the initial work necessary for the Docker daemon to compile on Windows.
Problem Statement
The existing daemon code base does not compile cross-platform for Windows. This is largely due to a number of ‘Linuxisms’ and system calls which do not have matching Windows counterparts.
Linux specific calls will be factored out by various techniques such as filename_Linux.go and filename_Windows.go; through use of runtime.GOOS conditions; and/or through build tags.
A simple example of the type of factoring would be removing support of the Unix HTTP namespace on Windows (but keeping it on Linux). Windows would support the TCP HTTP namespace only.
In addition, dummy no-op drivers will be added for future support of Windows containers.
Expectations
At the end of the series of PRs relating to this proposal, it is expected that the Docker Daemon will initialise and listen for requests on a TCP port on a Windows platform. It will be largely non-functional except for responding to “version” and “info”.
The functionality of the Docker daemon on Linux platforms will be unchanged.