Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

WIP: Introduce Windows Docker images#720

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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Open
LaurentGoderre wants to merge4 commits intonodejs:main
base:main
Choose a base branch
Loading
fromLaurentGoderre:pull-362

Conversation

@LaurentGoderre
Copy link
Member

No description provided.

bnb, tugberkugurlu, glesperance, alippai, splitt3r, HermannGruber, kakarotto67, webuniverseio, rygwdn, DavidMarquezF, and 5 more reacted with thumbs up emojiStefanScherer and bnb reacted with hooray emojibnb and tugberkugurlu reacted with heart emoji
@LaurentGoderre
Copy link
MemberAuthor

@LaurentGoderreLaurentGoderreforce-pushed thepull-362 branch 28 times, most recently from4a05960 to3286c0dCompareMay 9, 2018 14:38
@LaurentGoderreLaurentGoderreforce-pushed thepull-362 branch 6 times, most recently from9b1cc6c to9c4851fCompareJune 12, 2018 18:21
@StefanScherer
Copy link

6GB is when someone wants to pull or create a „tiny“ node hello world app on a fresh Windows 10 or 2016 server. This is the windowsservercore image which weighs so much.

I know the hard constraint for official images. But it‘s a solvable problem in the (more or less small) CI pipeline compared to the benefit for the whole Windows community getting a great and fast experience.

@LaurentGoderre
Copy link
MemberAuthor

I can't solve the multibuild but i can try to solve the images. Right now the install works on nanoserver but the subsequent call to gpg fails, as if it isn't aware of the change to$PATH

@StefanScherer
Copy link

StefanScherer commentedJun 13, 2018
edited
Loading

You can check binaries with the NanoServer API Scan tool. I‘ve built an image for such tasks.
32bit binaries can‘t be used in NanoServer.
But maybe only a runtime DLL is missing.

@LaurentGoderre
Copy link
MemberAuthor

@StefanScherer do you know if there's a way to get access to a cloud version of Windows 10 Enterprise so I could test this without appveyor? I discovered I have PowerShell on my workmachine (which mildly shocked me) so that part is now easier, but the docker part is still hard.

@StefanScherer
Copy link

@LaurentGoderre You could use the 30 days trial at Azure to spin up Windows 10 Pro 1803 which should be good enough to use containers. Use eg. a Standard_D2_v3 (or bigger) instance type which has nested Hyper-V support to be able to run eg. Docker for Windows in such an Azure instance.
Otherwise DM me via email.

    Co-authored-by: Stefan Scherer <scherer_stefan@icloud.com>    Co-authored-by: Laurent Goderre <laurent.goderre@gmail.com>
@swissarmykirpan
Copy link

@StefanScherer what is the benefit of having Windows Containers where there are already Linux Containers, especially since LCOW is now possible - (appveyor does support this on a paid plan).

@StefanScherer
Copy link

@swissarmykirpan It all depends on your application and environment. When one of your node modules needs Windows API then it's good to have same packaging as Docker image as on Linux.
When you can run your app in Linux containers then I recommend a Linux VM and not LCOW.
But it all depends on your environment, the servers and OS you can choose etc.

nschonni

This comment was marked as off-topic.

@StefanScherer
Copy link

@LaurentGoderre Yesterday I saw that thegolang image has several Windows versions supported. Now that the Windows Server 2019 images are a lot smaller it gets more interesting to stay at the servercore variant for a first release.

Is the build infra for the official node images also able to build for Windows Server 2019? I may have asked that years ago if you use the same infra as eg. for the other official Docker images? :-)

So if there is support for at least Windows Server 2016 and 2019 I could help to get this done as it makes sense to me.

Ok, a version without multi-stage build, so far so good.

One obstacle is that nanoserver no longer has PowerShell support, the 1809 images now have curl.exe and tar.exe in a CMD shell, but scripting all the GPG loop will be painful in just cmd scripts.

So maybe drop the nanoserver image and just use mcr.microsoft.com/windows/servercore:ltsc2016 and mcr.microsoft.com/windows/servercore:ltsc2019

WDYT?

@SimenB
Copy link
Member

Is the build infra for the official node images also able to build for Windows Server 2019? I may have asked that years ago if you use the same infra as eg. for the other official Docker images?

We have our own CI to test PRs, but the official images (the ones you pull down) are built by Docker on their own infra

StefanScherer reacted with thumbs up emoji

@StefanScherer
Copy link

StefanScherer commentedJan 8, 2019
edited
Loading

Thanks@SimenB

Do you think it would be possible to check PR's for Windows Server 2016 only on your side and let the Docker infra build all four Windows variants to provide a manifest list like the golang?

$ docker run --rm mplatform/mquery nodeImage: node * Manifest List: Yes * Supported platforms:   - linux/amd64   - linux/arm/v7   - linux/arm64   - linux/ppc64le   - linux/s390x$ docker run --rm mplatform/mquery golangImage: golang * Manifest List: Yes * Supported platforms:   - linux/amd64   - linux/arm/v7   - linux/arm64   - linux/386   - linux/ppc64le   - linux/s390x   - windows/amd64:10.0.14393.2665   - windows/amd64:10.0.16299.846   - windows/amd64:10.0.17134.469   - windows/amd64:10.0.17763.194

There are 2016, 1709, 1803 and 1809 variants there, so on any Windows Version it picks the best fitting image (just like working on different Linux CPU architectures).

Windows Server 2019 / Windows 10 1809 brings so many bugfixes for Node.js on Windows (the mapped folders for source code from the host work, port mapping to localhost works, docker pull and extract is faster than on 2016, ...).

And then we have to choose which PR we want to update, this one or#362.

@tianon
Copy link
Contributor

FYI, for testing Windows images, we've used AppVeyor for a long time (https://github.com/docker-library/golang/blob/60879215d473711ae500cc43acbfa037cf808fb0/.appveyor.yml), but they only currently support the LTSC release of 2016.

Travis recently (https://blog.travis-ci.com/2018-10-11-windows-early-release) added support for Windows with 1803 (https://github.com/docker-library/golang/blob/60879215d473711ae500cc43acbfa037cf808fb0/.travis.yml#L6-L8), which makes it easier to run similar tests across both Windows and Linux, even with Docker. 👍

StefanScherer reacted with thumbs up emojiStefanScherer reacted with heart emoji

Base automatically changed frommaster tomainMarch 15, 2021 16:23
@DavidMarquezF
Copy link

Any plans on merging this?

TimPurdum reacted with thumbs up emojipbering reacted with eyes emoji

@cmaneucmaneu mentioned this pull requestFeb 17, 2022
@nschonninschonni mentioned this pull requestApr 9, 2024
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment

Reviewers

@nschonninschonninschonni left review comments

+1 more reviewer

@StefanSchererStefanSchererStefanScherer left review comments

Reviewers whose approvals may not affect merge requirements

At least 1 approving review is required to merge this pull request.

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

7 participants

@LaurentGoderre@StefanScherer@swissarmykirpan@SimenB@tianon@DavidMarquezF@nschonni

[8]ページ先頭

©2009-2025 Movatter.jp