Linux containers

This feature uses Hyper-V Isolation to run a Linux kernel with just enough OS to support containers. The changes to Windows and Hyper-V to build this started in the Windows 10 Fall Creators Update and Windows Server, version 1709, but bringing this together also required work with the open source Moby project on which Docker technology is built, as well as the Linux kernel.

Linux Container Video

To try this out, you’ll need:

  • Windows 10 or Windows Server Insider Preview build 16267 or later
  • A build of the Docker daemon based off the Moby master branch, running with the --experimental flag
  • Your choice of compatible Linux image

There are getting started guides available for this preview:

Work in progress

Ongoing progress in the Moby project can be tracked on GitHub

Known app issues

These applications all require volume mapping, which has some limitations covered under Bind mounts. They will not start or run correctly.

  • MySQL
  • PostgreSQL
  • WordPress
  • Jenkins
  • MariaDB
  • RabbitMQ

Bind mounts

Bind mounting volumes with docker run -v ... stores the files on the Windows NTFS filesystem, so some translation is needed for POSIX operations. Some filesystem operations are currently partially or not implemented, which may cause incompatibilities for some apps.

These operations are not currently working for bind-mounted volumes:

  • MkNod
  • XAttrWalk
  • XAttrCreate
  • Lock
  • Getlock
  • Auth
  • Flush
  • INotify

There are also a few that are not fully implemented:

  • GetAttr – The Nlink count is always reported as 2
  • Open – Only ReadWrite, WriteOnly, and ReadOnly flags are implemented