Web lists-archives.com

Docker, containers, and Cygwin




Hello good people,

This isn't a question so much as a random musing...

From what I understand, Cygwin works by translating POSIX-like calls
into Windows API.  Or, to be more specific, the version of newlib that
Cygwin provides links to Windows-provided dlls that make Windows API
calls.

And Docker on Windows works by creating a layer that allows some
subset of the Windows API to be called by the image in the container,
passing those API calls to the OS kernel.

I tried (non-exhaustively) to figure out what Windows kernel APIs can
actually make it through the Docker infrastructure from an image to
the Windows kernel. This led me to ponder if the Windows APIs that
Cygwin uses in its emulation layer are a subset of the APIs that make
it through the Windows Docker containers.

My guess is that all the API that Cygwin uses *would* pass through
container, since is it basic stuff.  (Of course, the file and socket
I/O may be intercepted by the container depending on its permissions.)

Unfortunately, there doesn't seem to be handy reference about how
Windows Docker containers work.

Anyway, that's today's musing.

-Mike Gran

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple