linuxkit / lcow

Linux containers on Windows built with LinuxKit

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Linux containers [LCOW] not working after tweaking instructions

lohithcode opened this issue · comments

As per the instructions, just running the daemon
.\dockerd.exe -D --experimental
and trying to pull the 'busy box' image not working still windows only.
--error
docker run --platform linux --rm -ti busybox sh
docker.io/library/busybox:latest resolved to a manifestList object with 8 entries; looking for a windows/amd64 match

I tried with these env settings as well to start daemon as well .. still same issue..

what's your version of the the docker daemon and CLI, ie output of docker version?

Have it working using this gist on Windows Server Core 1709 (OS version 10.0.16299.0).

I also cannot get LCOW to work on Windows Server 2019. I can see that your posts are ~½ year old and looking at your gist @riezebosch it seems to me that this is still an experimental feature although I have read at https://docs.microsoft.com/en-us/windows-server/get-started-19/whats-new-19 , paragraph "Linux containers on Windows":

"It is now possible to run Windows and Linux-based containers on the same container host, using the same docker daemon. This enables you to have a heterogenous container host environment while providing flexibility to application developers."

What are your thoughts on this, is it supported or not ?

@JensNordenbro what's your error? I don't have access to a Windows machine anymore, but might be able to help. For more general questions on how to get LCOW to work with docker, moby/moby is a better repository to ask questions.

basically my machine says "no matching manifest for windows/amd64 in the manifest list entries."

I will try the experimental modes on another machine, but I find the whole information on LCOW support to be very confusing…

When most of the initial instructions were written, LCOW was still very much under heavy development and having it behind --experimental means that the way users use it may change. I haven't followed the LCOW development for about 6 months and am not up to speed how it is now integrated with docker. You are probably better off asking on https://github.com/moby/moby what the current recommended way is.

@riezebosch ; I ran your gist-script and it worked until executing the Utility VM saying: Error response from daemon: failed to start service utility VM (createreadwrite): kernel 'C:\Program Files\Linux Containers\kernel' not found.

@JensNordenbro have you copied the kernel and initrd there as suggested in the README.md from the line "Next, you need to get the LinuxKit images..." onwards?

yes, I think so since I have

  • bootx63.efi
  • initrd
  • versions
    under "c:\Program Files\Linux Containers"

@JensNordenbro if you open the latest zip from https://github.com/linuxkit/lcow/releases/tag/v4.14.35-v0.3.9 you should see that there is a file named kernel. The naming changed recently. I suppose you have older release in use.

Now it works. Thanks @lahma, @rn!

So my conclusions are:

  1. In order to enable LCOW a manual install is necessary.
  2. This is not supported by Microsoft since it is --experimental

And since I am fetching docker(d).exe from master builds; It is not supported by Docker also?!

Am I right?!

@JensNordenbro I can't answer the question of which version of docker(d) or Windows supports LCOW to what degree as I work for neither Docker nor Microsoft. It's probably a good question to ask initially on https://github.com/moby/moby which is where both Docker and Microsoft developing the upstream support are hanging out.

Closing this issue.

So as a final question @rn, when are you planning to make a Release branch out of your master branch the next time?

I made release two weeks ago (or so). Not planning to make one soon, unless there are more changes to OpenGCS, which is the main component running in the VM