Windows Part 2 - run windows containers#197
Conversation
|
Could you also create |
|
Been a bit busy but still working through the docker cli options.
Was wondering if it should be on the docs at https://github.com/containerd/nerdctl#command-reference? Could add another emoji for windows and put it next to the items that work? Up to you. |
|
SGTM, but I can't find an emoji that resembles windows https://github.com/ikatyang/emoji-cheat-sheet/blob/master/README.md |
|
Needs rebase |
|
ping 🙏 @jsturtevant |
8a63d20 to
fff5d9e
Compare
|
@AkihiroSuda sorry for the delay (life got in the way 😏) With a better understand I took a different approach than what I had before. Now a lot more code is shared and I was able to run a container on my Windows 11 machine. Let me know if this makes sense or should do something different. I will add the few windows specific options that I have commented out tomorrow. |
|
Thank you! 👍
Can we test this on GitHub Actions or on Cirrus CI? |
|
I don't think so due to the fact you can't do containers in containers with Windows . I'll take a look though. Containerd does run some some periodic jobs on VMs in Azure that we might be able to use since permission are already there https://github.com/containerd/containerd/blob/main/.github/workflows/windows-periodic.yml |
|
I got familiar with the testing framework. Interesting stuff. I was able to get several of the tests in https://github.com/containerd/nerdctl/blob/master/cmd/nerdctl/run_test.go to pass. There were a lot of Linux assumptions in the tests but using an image we use for testing in k8s that provides some of the linux functionality, I got some of them pass with out modification. I am thinking of splitting some of these into different test files so ones that are obviously Linux only run in GOOS=linux and then ones that should and can be run across both can. |
|
also looked into possible ci solutions. It looks like nerdctl/.github/workflows/test.yml Lines 134 to 135 in 08792cc |
|
Is this PR ready to merge as-is, or do you plan to add more changes (such as tests) to this PR before merging? |
c36786a to
c999d23
Compare
fdd97d7 to
9e869e4
Compare
|
after fighting with configuration on cirrus, I got it running Windows tests! I will enable the tests that pass now and update the docs and we should be ready |
c6ff1ba to
0ac06ab
Compare
0ac06ab to
4a96757
Compare
|
something changed when I did the rebase. Looking into it... |
|
when I rebased I brought in this change from containerd: containerd/containerd@791e175 which is failing when trying to do the symlink. |
4a96757 to
6997dec
Compare
Signed-off-by: James Sturtevant <jstur@microsoft.com>
6997dec to
4f3bdf0
Compare
|
Windows tests passed! The integration failure looks like it was a curl issue not related to changes. I guess the others cancelled due to this one failing? |
|
|
||
| :nerd_face: = nerdctl specific | ||
|
|
||
| :window: = Windows enabled |
There was a problem hiding this comment.
This emoji doesn't seem included in Windows 10 (21H1)... 😅
There was a problem hiding this comment.
Maybe we should just use 田 ?
There was a problem hiding this comment.
Maybe ⊞ (SQUARED PLUS) is better than 田 (CJK UNIFIED IDEOGRAPH-7530)
There was a problem hiding this comment.
You could invert it, and use 🧱 to mark commands that don't run on Windows.
There was a problem hiding this comment.
ah sorry about that!
There was a problem hiding this comment.
田
This means 'field' and is a very common in both Chinese and Japanese, such as 田鼠 (fieldmouse) or even in brand names 田宫. Best to avoid use of CJK characters.
|
Not sure how this should work. Got a latest Rancher Desktop 1.0 for Windows, default setup, Win11 on my laptop, receiving this for windows containers: |
|
@yauhen-vastraknutau-epam That's no issue in nerdctl but rather in containerd. It's happening with |
|
I see. Thanks for this explanation! That's very helpful. |
|
@yauhen-vastraknutau-epam multi archi manifests have some issues running on windows 11/10. See microsoft/Windows-Containers#179. Please open a new issue instead of posting on closed PR's. Thanks! |
Rancher edition of nerdctl.exe only supports Linux containers. |
Continuation of #184 to enable running Windows containers in #28. This add ability to run Windows Containers:
run a container (with image that is not pulled):
interact with it: