Docker Community Forums

Share and learn in the Docker community.

Enable Linux containers on Windows


(Anthonymastrean) #1

I was reading about this new Linux containers on Windows feature.

I thought the requirements were

  • Windows 10 with the Fall Creators Update (1709)

  • Docker for Windows 17.11+ (edge channel w/ experimental features enabled)

But, I don’t see the feature checkbox!

What am I missing?

(I’ll have to post my “evidence” screenshots in a comment, because “new users” are only allowed one image in a post.)


(Anthonymastrean) #2

My Windows 10 version:

image


(Anthonymastrean) #3

And my Docker for Windows info


(Gschroettner) #4

Have you installed Hyper-V?


(Anthonymastrean) #5

Of course. I’ve been using Docker for Windows successfully up to this point.


(Burntoc) #6

I just logged in here for my first time to ask the same question. I’m in EXACTLY the same boat you are. Hope we get an answer soon.


(Gschroettner) #7

Switch to Windows Containers and use the --platform option.

Try docker run --rm --platform linux alpine ls


(Burntoc) #8

That pulled and ran alpine, as I didn’t have it locally, but it made no difference. I still don’t have that option in Docker, even after a restart.


(Anthonymastrean) #9

That option is for running containers based on Windows images… are you just guessing? The request here is clearly to run containers based on Linux images.


(Gschroettner) #10

Clearly alpine is a Linux based image and you can run it win Windows Container mode. If that is not what you are looking for, I misunderstood your request.

There is no option for LCOW any more, it is build in and you don’t have to activate it any. I get the following screen when switching to Windows containers:


(Anthonymastrean) #11

What version are you running? I didn’t realize LCOW was already merged into a stable (or edge?) version!


(Faizan170) #12

I have the same issue. When i try to switch to linux container it shows that windows version is not compatible. But for windows containers it works good


(Hoegholm) #13

Is there a way to have this set so you don’t have to type it for every pull and so that Kitematic works using LCOW?


(Anupam0101) #14

If you are using docker for windows like I am on Windows 10.
It gives you the option
image


#15

I was looking for this checkbox as well.
I think the thing confusing to me is like when i read articles below and they have a section like “When to use Moby VM vs LCOW”.

So by default Docker for Windows uses ‘Linux Containers’ but that seems to be via the Hyper-V MobyVM option (i checked in the Window’s Hyper-V Manager app and see the Moby VM when i docker-compose up).
I guess like others were saying that 'Enable Linux Containers on ‘Windows’ option went away since its the default now and you can switch to it via right-clicking the Docker icon->‘Switch to Linux Containers…’ if for reason you are on the Windows non-default option.
But they also have a separate what-they-call ‘LCOW’ option listed on that article (which allows Hyper-V isolation and Im guessing doesn’t use MobyVM [maybe possibly uses LinuxKit if my memory serves me right] but I’m not sure how you opt into that on Windows).

“To see if you’re running LCOW, navigate to C:\Program Files\Linux Containers . If Docker is configured to use LCOW, there will be a few files here containing the minimal LinuxKit distro that runs in each Hyper-V container. Notice the optimized VM components are less than 100 MB, much smaller than the LinuxKit image in Moby VM.”

I’m curious how to enable trying this as maybe it’ll be faster:
“LinuxKit though which is mentioned above will allow you to run UNIX containers natively in Hyper-V Isolation alongside Windows containers in both Windows Server and Windows 10”
This article might have a way to ‘enable this’ option (but its old 2017):