"Enable Linux containers on Windows" still requires Hyper-V?

So I downloaded the new edge version of Docker for Windows 10. I have been wishing for the Linux Subsystem on Windows 10 to be able to be used instead of relying on a VM running. Since Hyper-V clashes with some anti cheat software I want to run etc. So when I read that the new feature, “Enable Linux containers on Windows”, would do just that I was very excited. I uninstalled Hyper-V, enabled the option in Docker, fired up my development container and it started downloading all the needed images… and then I got an error that Hyper-V was not installed.

So… ehh… what? Does “Enable Linux containers on Windows” still requires Hyper-V?

Ohh and I run Windows 10 Pro build 1709 which is the stated needed version.

docker for windows requires hyper-v…

docker toolbox does not… (but is not quite as functional)

I run vmware on my windows box for other things, hyper-v cannot be on…
so I use docker toolbox

Linux-Containers-on-Windows (LCOW) still relies on Hyper-V technology, even though it doesn’t start an actual Hyper-V VM (that you can look at in Hyper-V manager)

May one ask why? People seem to have been able to keep Hyper-V installed but disabling it from actually starting and then Docker works fine with “Enable Linux containers on Windows”. Why whould that be?
What does “Enable Linux containers on Windows” actually do differently if Hyper-V is still required?

These posts have more details:

Let me know if that doesn’t answer your question

Thanx, I understand more about how this new approach funtions now. But why not work together with Microsoft and eliminate the gaps that exist to instead be able to run linux based Docker images on/using the Linux subsystem in Windows 10? Would feel so much more natural than to have to rely on a VM. Felt like the entire idea of bringing “Ubuntu to Windows” was to merge the two worlds in a much tighter way than before.

As I have understood it the limitation today lies in some of the kernel functions which doesn’t work/work the way the do under “normal” Linux. But it feels like that could be fixed no? Do Windows based docker images require a VM to? I woudl understand if they did since I doubt Windows does layered filesystems like Linux does. (I have only used Docker with Linux images).

p.s. Posting a reply don’t seem to work every time. I have to post, tremove that post and post again in order for it to be a reply.

When I enable Hyper-V again and try to run my container which worked fine using the old Hyper-V based apporach I get this error. (sorry, unable to select any formatting… doesn’t seem like any button are pressable in Firefox)

C:\Program Files\Docker\Docker\Resources\bin\docker.exe: Error response from daemon: container d6d7ebd55ea1c667131a8a069e1b8a48b27c8daeb8cee2d8c4b44b0ebd428082 encountered an error during CreateContainer: failure in a Windows system call: The file size of this virtual hard disk is not valid. (0xc03a0013) extra info: {“SystemType”:“container”,“Name”:“d6d7ebd55ea1c667131a8a069e1b8a48b27c8daeb8cee2d8c4b44b0ebd428082”,“Owner”:“docker”,“LayerFolderPath”:“C:\ProgramData\Docker\lcow\lcow\d6d7ebd55ea1c667131a8a069e1b8a48b27c8daeb8cee2d8c4b44b0ebd428082”,“Layers”:[{“ID”:“9b4bdde6-0720-56ff-8d35-32e56f14fe50”,“Path”:“C:\ProgramData\Docker\lcow\lcow\a8439ba519266b87cdbbdd011a5b258c71ab93f4f2ad31e8b264a779994f1328\layer.vhd”},{“ID”:“fc2ce9b2-9f45-5b7b-9c86-01e3916344f1”,“Path”:“C:\ProgramData\Docker\lcow\lcow\c88772e35ebb14ce37068375c19def35c4b31ff627b00dd1d64c29b988db7556\layer.vhd”},{“ID”:“601cc436-9cef-588b-9502-7e476d9077c7”,“Path”:“C:\ProgramData\Docker\lcow\lcow\9beec9eb18c8fbb82fe1e6fe563065725f80a5cf0568b330b7f8b401e30a294b\layer.vhd”},{“ID”:“18bd89ce-1d97-5b67-84ef-169b6c7a8915”,“Path”:“C:\ProgramData\Docker\lcow\lcow\dcf35684a6e053d0252a6c45ba4734ab526b2f7c514675e873e7109c502c4dbd\layer.vhd”},{“ID”:“3b410d68-9bf2-5158-bb91-b0f06dab75c3”,“Path”:“C:\ProgramData\Docker\lcow\lcow\b4e8c9c8716773e6bbcf12206cdcc523a38221ea571f89f37802d5fdad2cbe91\layer.vhd”},{“ID”:“a6df828f-16de-5fa8-8aba-c85c0bcc2d02”,“Path”:“C:\ProgramData\Docker\lcow\lcow\7d1073058c06c350c9f7c4445800154c1a3caac51e20bc0a9ebcdc21bfb1adca\layer.vhd”},{“ID”:“0732726b-694a-5d63-99b2-a27434bf50fc”,“Path”:“C:\ProgramData\Docker\lcow\lcow\33d0075ff2cb2e1f6b30ac5aa743ac6e1b358b8eed65ec415c90b5da558300bf\layer.vhd”},{“ID”:“530a24b8-ab63-504f-9050-fd49b48bd671”,“Path”:“C:\ProgramData\Docker\lcow\lcow\5c9aa1030963be7d16424a168d5b7cfb09eb067bff668518feb0c3f69ed0ad8f\layer.vhd”},{“ID”:“26661410-79eb-554c-9378-896713b809bf”,“Path”:“C:\ProgramData\Docker\lcow\lcow\8295142b1f22fafcda8014d4e0f1bb70af4595148d3e07ad60b73c3a88758e40\layer.vhd”},{“ID”:“3f91a891-0b01-57e3-9642-d40196c2523e”,“Path”:“C:\ProgramData\Docker\lcow\lcow\68623a5c5c22f9868c8b5c3389410fefca4d45984ef79a3d69da3a974bcb0299\layer.vhd”},{“ID”:“5053a321-623d-5ce2-b432-e3cdd416f43f”,“Path”:“C:\ProgramData\Docker\lcow\lcow\2ba2f5afa9d50938d29c50078e840fcf44a06301bc8763510c31dd9dd7060662\layer.vhd”},{“ID”:“68b1d3d7-7a98-52ed-a4a4-0a0cd68e8ae7”,“Path”:“C:\ProgramData\Docker\lcow\lcow\30b050752eddbae3b3110ae6014fa79d22bc0397414b213588a894eeac8a9a00\layer.vhd”},{“ID”:“953bf000-9adb-530f-866d-3a48a08a5904”,“Path”:“C:\ProgramData\Docker\lcow\lcow\f3f0713a89e450636e94aaff5fc749ec449d24c8b92760061b22f6a6ba27b25f\layer.vhd”},{“ID”:“90de08c4-2f0d-5289-812b-1d0b8e880bd6”,“Path”:“C:\ProgramData\Docker\lcow\lcow\bb56b5bdd8e5c308f5bd02e787372f383ed2adee27ca95b267c819cb474d3faa\layer.vhd”},{“ID”:“865970db-8991-57ae-bd1b-5d9474a7209b”,“Path”:“C:\ProgramData\Docker\lcow\lcow\639e878de98cf5191578056fd5edd79da6b2471da3ae6fd305253dd0861249cc\layer.vhd”},{“ID”:“0bd48018-5013-5570-8d56-24220e599f77”,“Path”:“C:\ProgramData\Docker\lcow\lcow\4fc0629c06f794402bc17e49e663c16806fc8ce7fcf3e08717518c1f9f7c302d\layer.vhd”},{“ID”:“b68d7cb1-9efd-5992-932d-80a9cf49ae28”,“Path”:“C:\ProgramData\Docker\lcow\lcow\64961425599dd4fa9eecfd0bd84796c89fb4506e5339cb963eec0c315df6c916\layer.vhd”},{“ID”:“e1dcf88c-ae98-5da0-80c9-af5b8431e413”,“Path”:“C:\ProgramData\Docker\lcow\lcow\7c4e25a659f9ce997eb6767ff04f7dfecb52a63f723e81230dd956397d32d3aa\layer.vhd”},{“ID”:“be8c5482-2bf7-556d-a07a-208181642552”,“Path”:“C:\ProgramData\Docker\lcow\lcow\70ada93e1b99f72e1109b9a72b7938eea37130a77a3f4624e6ffb090e7ed02e1\layer.vhd”},{“ID”:“92085535-e7b0-5200-ac76-4b6a9ab12d95”,“Path”:“C:\ProgramData\Docker\lcow\lcow\ad6d6e46bad9318551e9f20a1982a35fc8136c3c896dfa2cafc6631070fce0bb\layer.vhd”},{“ID”:“eca10432-09fe-584f-8ffe-ca704baab229”,“Path”:“C:\ProgramData\Docker\lcow\lcow\2990491475ab7a176e4a09b8a03490fc8332c23010b52f5fb1ea33493273bf54\layer.vhd”},{“ID”:“bfbf866a-3010-5dcb-93ff-a073c7af44f3”,“Path”:“C:\ProgramData\Docker\lcow\lcow\52440880c6c4a53a02c979aa335e13810c2076a1344447839e3d97779d043d97\layer.vhd”},{“ID”:“c7099825-386e-5b45-a8f4-bb03f6b778f1”,“Path”:“C:\ProgramData\Docker\lcow\lcow\a1388c0399b6ee42acf2bb9f90663ef195c33962717dcdcfabb58457ed9c31ee\layer.vhd”}],“MappedDirectories”:[{“HostPath”:“e:\development\osclassdev\etc\apache2”,“ContainerPath”:"/tmp/gcs/d6d7ebd55ea1c667131a8a069e1b8a48b27c8daeb8cee2d8c4b44b0ebd428082/binds/etc/apache2",“ReadOnly”:false,“BandwidthMaximum”:0,“IOPSMaximum”:0,“CreateInUtilityVM”:true},{“HostPath”:“e:\dropbox\projects\htdocs\www.osclass.xxx”,“ContainerPath”:"/tmp/gcs/d6d7ebd55ea1c667131a8a069e1b8a48b27c8daeb8cee2d8c4b44b0ebd428082/binds/var/www",“ReadOnly”:false,“BandwidthMaximum”:0,“IOPSMaximum”:0,“CreateInUtilityVM”:true},{“HostPath”:“e:\development\osclassdev\etc\mysql”,“ContainerPath”:"/tmp/gcs/d6d7ebd55ea1c667131a8a069e1b8a48b27c8daeb8cee2d8c4b44b0ebd428082/binds/etc/mysql",“ReadOnly”:false,“BandwidthMaximum”:0,“IOPSMaximum”:0,“CreateInUtilityVM”:true},{“HostPath”:“e:\development\osclassdev\dbdata”,“ContainerPath”:"/tmp/gcs/d6d7ebd55ea1c667131a8a069e1b8a48b27c8daeb8cee2d8c4b44b0ebd428082/binds/var/lib/mysql",“ReadOnly”:false,“BandwidthMaximum”:0,“IOPSMaximum”:0,“CreateInUtilityVM”:true}],“HvPartition”:true,“EndpointList”:[“96b6c87e-493d-4b2a-a347-1cf30b75c7fd”],“HvRuntime”:{“ImagePath”:“C:\Program Files\Linux Containers”,“LinuxInitrdFile”:“initrd.img”,“LinuxKernelFile”:“bootx64.efi”},“AllowUnqualifiedDNSQuery”:true,“ContainerType”:“linux”,“TerminateOnLastHandleClosed”:true}.