rancher-sandbox / rancher-desktop

Container Management and Kubernetes on the Desktop
https://rancherdesktop.io
Apache License 2.0
5.78k stars 271 forks source link

Support for Windows containers #255

Open jandubois opened 3 years ago

jandubois commented 3 years ago

Question on Twitter...

lippertmarkus commented 2 years ago

Now that Docker Desktop is no longer free I think many Windows Container devs would benefit from that feature

holtalanm commented 2 years ago

I got really excited seeing an alternative to Docker Desktop for Windows, but alas, I use Windows Containers. Would love to see them supported here!

nvyas1 commented 2 years ago

this would be a really good addition.

Elektronenvolt commented 2 years ago

We're starting to use Rancher Desktop instead of Docker Desktop, a support for Windows container would be great!

holtalanm commented 2 years ago

I've been just forgoing any GUI for containers lately, and it has been working without issue.

This blog post describes getting windows container support set up on windows without Docker Desktop: https://lippertmarkus.com/2021/09/04/containers-without-docker-desktop/

rosskirkpat commented 2 years ago

It would also be fantastic to specifically see windows/arm64 container support to enable developers working on Windows IoT Enterprise edge devices running on arm64.

It looks like the previous blockers for implementing arm64 support have been addressed - https://github.com/docker/roadmap/issues/91#issuecomment-960003222

That comment is on an outstanding feature request for docker desktop to support windows/arm64. Rancher Desktop could be the first to support windows arm64 containers. I believe that would be a major win.

Disclaimer: I'm biased as I am working on windows/arm64 edge solutions and this would make my life 1000% easier

simonflood commented 2 years ago

Some might find https://jason.agostoni.net/2022/01/27/rancher-desktop-with-both-windows-and-linux-containers/ useful

patware commented 2 years ago

How can I help ?

mook-as commented 2 years ago

How can I help ?

We currently have not worked on this; therefore, research on the inner workings of Windows containers like the APIs, etc. would be helpful. However, we have no guarantees on when this work would start โ€”ย most likely it will be after the current features are done.

Anything that involves downloading random Docker binaries, unfortunately, would not work (because we're not going to go against their EULA).

jandubois commented 2 years ago

therefore, research on the inner workings of Windows containers like the APIs, etc. would be helpful

We actually have a group at Rancher Labs that are working on Windows containers (for Rancher multi-cluster-management, not for Rancher Desktop), and I'm supposed to meet with them later this month.

Previously they told me this would work only with RKE2, but not k3s, which makes it unlikely for us to work on it. But they claimed to find a solution for us, so I'm hoping that they can do the lower-level work for us, and just leave the integration to the Rancher Desktop team.

Sorry for still being vague, as I still don't know how this is supposed to work.

Thank you for offering to help! Let's talk once the plan solidifies some more.

Anutrix commented 2 years ago

@jandubois Any updates on this? Would be glad to help to get this working.

jandubois commented 2 years ago

@Anutrix Unfortunately no updates yet. I've talked with the Windows team, and they said they are close to getting this to work in a way that we could incorporate, but we are not there yet.

I'll try to learn more about what is still required, but this will still take some time.

the-mentor commented 2 years ago

+1 We are evaluating docker desktop with rancher desktop and we are missing support for windows containers. What is the blockers on this?

Is the issue running windows containers on containerd? Is there anything I can do to help out?

Thanks for all the hard work -DM

PatrickLang commented 1 year ago

For those posting here - what would you consider Windows container support to be? Are you just trying to build and run Windows containers locally with moby or nerdctl, or do you want them interoperating with Linux containers on your same desktop/laptop? Do you want them to show up as a node in Kubernetes/k3s, or just run enough to complete local build and test without Kubernetes?

lippertmarkus commented 1 year ago

For me it would be both a) having a windows node available in k3s to locally test out hybrid applications with some parts running on Linux and some on Windows b) using nerdctl to build Windows images (that should be adressed in a second issue as there's currently no buildkit support for Windows)

PatrickLang commented 1 year ago

Ah, I see https://github.com/moby/buildkit/issues/616 for the buildkit issues. I haven't been following Windows Server containers the last ~2 years since I have been working on other projects. Thanks for clarifying!

danpetitt commented 1 year ago

For us, it's just simply being able to stand up a windows image on a windows desktop. Linux interoperability would be nice later, but just a basic windows container is a first priority.

the-mentor commented 1 year ago

For us its also both. a) We want to be able to run windows containers on both the a local runtime and as a k8s node. b) Use nerdctl to build windows containers.

So we pretty much want to be able to use Rancher Desktop as a Docker Desktop replacement.

2good4hisowngood commented 1 year ago

Patrick Lang, thank you for your attention to this issue.

For my desired use case:

I have an arm64 cluster but would like to poc test containers on my local machine before deploying to use cloud gpus. Azure Arc support would enable me to use local compute but fail over to the cloud if needed. Simultaneous windows/Linux support would enable me to launch containers without worrying about node compatibility, which would be nice.

Elektronenvolt commented 1 year ago

@PatrickLang - yes - running Windows and Linux container like it works in a mixed OS Kubernetes cluster instead of using Docker compose. Building Linux and Windows container on top would be great. Right now a lot of dev tools integrate nicely with Docker Desktop but not with Kubernetes - I expect a change to Kubernetes everywhere and better dev tool integrations over the next years - but only history will show if I was right ๐Ÿ˜

craigforr commented 1 year ago

@PatrickLang: Our use case initially is simply to be able to build Windows containers on Windows. The ability to run those would be a second level feature we'd love to see and could use. We currently using moby, but may consider containerd at a later date, so that would be a third level.

So, I agree with the tiered approach some have alluded to: Starting with basic Windows support for docker build ... for Windows containers, and then branch out from there -- add containerd support, the ability to run in Kubernetes, etc.

TartanLeGrand commented 1 year ago

Uninstall, go back in 1.0.0 and update to the latest version. ๐Ÿ˜‰

On Sat 4 Jun 2022 at 16:57, Numan Zaheer Ahmed @.***> wrote:

@jandubois https://github.com/jandubois Any updates on this? Would be glad to help to get this working.

โ€” Reply to this email directly, view it on GitHub https://github.com/rancher-sandbox/rancher-desktop/issues/255#issuecomment-1146628464, or unsubscribe https://github.com/notifications/unsubscribe-auth/ANSLLFLJZONK62W64QXIYXDVNNVE7ANCNFSM44DTOOKA . You are receiving this because you are subscribed to this thread.Message ID: @.***>

acr-varonis commented 1 year ago

Looks like there is a Microsoft script that suppose to setup containerd with windows container support maybe it will be helpful to get Rancher Desktop to support windows containers.

https://github.com/microsoft/Windows-Containers/blob/Main/helpful_tools/Install-ContainerdRuntime/install-containerd-runtime.ps1

the-mentor commented 1 year ago

I setup rancher desktop and moby (compiled on my own) side by side so I could build windows and linux containers on the same machine. They work very well together and switching between them is a simple docker context use command. I would love to talk to someone on the rancher-desktop team and try to help integrate this into rancher-desktop.

image

the-mentor commented 1 year ago

for anyone that is interested in how I set this up

Windows Containers side by side with Rancher Desktop

peteristhegreat commented 4 months ago

Here's another similar set of directions for running docker cli for Windows containers. It works and it has a link for downloading the docker binaries outside of Docker Desktop.

https://lippertmarkus.com/2021/09/04/containers-without-docker-desktop/

https://download.docker.com/win/static/stable/x86_64/