-
Notifications
You must be signed in to change notification settings - Fork 617
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Windows Part 2 - run windows containers #197
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 <[email protected]>
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?
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, merging
@@ -194,6 +194,8 @@ Please certify your [Developer Certificate of Origin (DCO)](https://developercer | |||
|
|||
:nerd_face: = nerdctl specific | |||
|
|||
:window: = Windows enabled |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This emoji doesn't seem included in Windows 10 (21H1)... 😅
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe we should just use 田
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe ⊞ (SQUARED PLUS) is better than 田 (CJK UNIFIED IDEOGRAPH-7530)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You could invert it, and use 🧱 to mark commands that don't run on Windows.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ah sorry about that!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
田
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: