Running .Net Core in Docker in Windows Subsystem for Linux

Practically I want to play with .NET Core within Docker.

So as I understand it from this post to give myself the best flexibility I would install “Docker For Windows”. Means I can ultimately deploy my .Core app to a container that is either a Windows or a Linux container. However the Linux container is still a Hyper-V managed Linux container.

  • Docker cannot connect to Docker Daemon even though the daemon is running
  • Why pulling private image in Pod is not working in Kubernetes Registry addon?
  • Unable to stop or remove a container in Docker, Permission denied is displayed
  • Seeding a database using Docker Mysql COPY fails
  • Override .dockerignore file when using ADD
  • How to enable CLI history in docker container?
  • 1) Is there a way to instead use the Windows Subsystem for Linux (WSL) to do this in the Windows 10 Creators Update? Seems like less overhead than have Windows/Docker manage a separate Linux VM for me?

  • trigger inotify event over NFS on Linux?
  • Docker Port Forwarding
  • Docker volumes are partitions or subdirectories?
  • Docker-machine access to remote docker daemon through ssh tunneling
  • Using the postgres image in a test
  • Any conflicts using Docker Toolbox for Mac and Already-Installed Virtualbox?
  • One Solution collect form web for “Running .Net Core in Docker in Windows Subsystem for Linux”

    No, running Docker containers in WSL is not supported (link mine):

    The docker engine is not a supported scenario in the short term. I would suggest hitting our User Voice page and upvoting Docker if you’re looking to run the docker engine.

    The docker client however should be running in build 14342. I have been able to run the docker client and connect to a docker engine running in a VM.

    As to why it’s not supported:

    WSL is a clean-room kernel reimplementation. So it can’t, for both technical and legal reasons, simply take the kernel components of Docker and “make it work”. They would need to reverse-engineer years of ongoing kernel development and reimplement it. (Or take some other nontrivial approach.)

    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.