GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | ||||||||||||||||||||||||||||||||||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | ||||||||||||||||||||||||||||||||||||||||||
GeezerVison is showing github.com — Proposal: Introduce Dockerfiles for windowsservercore by StefanScherer · Pull Request #222 · nodejs/docker-node Conversation
|
|
This is great! 😄 Now we just need a CI capable of running Docker for Windows so we can make sure things don't break! |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
| ENV NODE_VERSION 4.5.0 | ||
| ENV NODE_SHA256 16aab15b29e79746d1bae708f6a5dbed8ef3c87426a9408f7261163d0cda0f56 | ||
|
|
||
| RUN powershell -Command \ |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
@tianon can Docker Hub build Docker Images for Windows? |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
@Starefossen not yet, also AppVeyor waits for Windows Server 2016 GA. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
I'm more concerned if we need more dev dependencies to make it usable for the community. Maybe we should add Python and probanly https://github.com/felixrieseberg/windows-build-tools to allow compiling native node modules as well. The golang image without git was also not really usable. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
I just tested the 6.5.0 Dockerfile with another line without any further optimizations RUN npm install --global --production windows-build-toolsbut then the Docker image increases from 7.9 GB to 11.5 GB: I personally don't have the use case of compiling native node modules and build a Docker image with that for distribution. My workflow would look like this: Run |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
@StefanScherer consider using the |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
@friism I've tried several times to adapt the Dockerfile to PowerShell without the CMD variable names, but it seems that there is a strange problem using quotes for strings. shows the correct string after the So I keep it as it is right now. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
@StefanScherer in my own testing with PowerShell's string interpolation, it had odd edge cases that made it more trouble than it was worth; I found either |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
224a0ea to
d044e93
Compare
|
@tianon Thanks. I've added similar workarounds to introduce the |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
d044e93 to
05a82ed
Compare
|
@chorrell note that there may also (likely) be a |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
@chorrell Thanks for #239. Tried something similar today morning, but you know your test scripts better than I. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
At the time I thought it might make things simpler to omit the We'll want to probably modify the |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
05a82ed to
ea2dabf
Compare
|
Anything I can do to push this forward a little bit? |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
misunderstanding, I wasn't thinking about tags
|
Was there still an open question about doing CI? I don't have any experience running Docker in Windows and I don't really have a handle on how to test this or what we'd use for automated CI. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Something like But I think there is more CI to push to Docker Hub as well, right? Jenkins? So you would need eg. a Windows 2016 Jenkins slave for further steps. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
The push to docker hub is all manual via a PR e.g., docker-library/official-images#2281 AppVeyor sounds like it might be an option for validating the images then? |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Yes, they plan to setup Win2016 + nanoserver build agents with preloaded base images microsoft/windowsservercore + microsoft/nanoserver. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Also, I think a few remaining tasks are:
|
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
OK, so we probably want to wait until AppVeyor has Windows server 2016. Afaik, the build group doesn't have any 2016 machines in the jenkins/ci setup: https://ci.nodejs.org/computer/ |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
For example Azure has prebuilt Win2016+Containers including Docker engine preinstalled, there is also an up-to-date "Deploy to Azure" template here. I can have a look at the |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
OK, that would be up to the @nodejs/build group to setup I guess. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
The |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
244e21e to
5e7fd92
Compare
|
Updated to Node 4.7.0, 6.9.2 and 7.2.1 :-) |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
FYI streamlined the windows side with the msi (of course wouldn't work with nano though) |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Python has a splitter between Windows and Linux so could be possible to easily implement with the proper tags and automated building mechanism as discussed above The ones provided by @StefanScherer and myself both are natively supported within Windows Server 2016 Server (and even Azure Server 2016 /w containers ;) ) |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
FYI, if setting up a Win2016+Docker build agent is too hard, try AppVeyor's new build agent appveyor/ci#1150 using a simple appveyor.yml like mine. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Any progress having an Win 2016 server to provide official Node.js Windows Docker images? |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Signed-off-by: Stefan Scherer <[email protected]>
5e7fd92 to
e4f9a12
Compare
|
@StefanScherer what about adding appveyor machinery to the PR? |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
@friism Thanks, already working on a new PR that introduces both nano + core + appveyor.yml :-) |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Closing, see #362 for a more up to date PR with appveyor.yml |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
Successfully merging this pull request may close these issues.
There was an error while loading. Please reload this page.