{"action":"created","comment":{"url":"https://api.github.com/repos/nodejs/docker-node/pulls/comments/76262913","id":76262913,"diff_hunk":"@@ -0,0 +1,17 @@\n+FROM microsoft/windowsservercore\n+\n+ENV NPM_CONFIG_LOGLEVEL info\n+ENV NODE_VERSION 4.5.0\n+ENV NODE_SHA256 16aab15b29e79746d1bae708f6a5dbed8ef3c87426a9408f7261163d0cda0f56\n+\n+RUN powershell -Command \\","path":"4.5/windows/windowsservercore/Dockerfile","position":7,"original_position":7,"commit_id":"fce8ee6a06735aa55c6491c979d307cf0f130ad0","original_commit_id":"fce8ee6a06735aa55c6491c979d307cf0f130ad0","user":{"login":"tianon","id":161631,"avatar_url":"https://avatars.githubusercontent.com/u/161631?v=3","gravatar_id":"","url":"https://api.github.com/users/tianon","html_url":"https://github.com/tianon","followers_url":"https://api.github.com/users/tianon/followers","following_url":"https://api.github.com/users/tianon/following{/other_user}","gists_url":"https://api.github.com/users/tianon/gists{/gist_id}","starred_url":"https://api.github.com/users/tianon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tianon/subscriptions","organizations_url":"https://api.github.com/users/tianon/orgs","repos_url":"https://api.github.com/users/tianon/repos","events_url":"https://api.github.com/users/tianon/events{/privacy}","received_events_url":"https://api.github.com/users/tianon/received_events","type":"User","site_admin":false},"body":"You're going to want to include `$ErrorActionPreference = 'Stop';` as the first command in these `powershell` blocks to ensure that failure stops the build appropriately. :+1:\r\n\r\n(It's essentially POSIX's `set -e` for PowerShell.)","created_at":"2016-08-25T15:13:04Z","updated_at":"2016-08-25T15:13:04Z","html_url":"https://github.com/nodejs/docker-node/pull/222#discussion_r76262913","pull_request_url":"https://api.github.com/repos/nodejs/docker-node/pulls/222","_links":{"self":{"href":"https://api.github.com/repos/nodejs/docker-node/pulls/comments/76262913"},"html":{"href":"https://github.com/nodejs/docker-node/pull/222#discussion_r76262913"},"pull_request":{"href":"https://api.github.com/repos/nodejs/docker-node/pulls/222"}}},"pull_request":{"url":"https://api.github.com/repos/nodejs/docker-node/pulls/222","id":82736067,"html_url":"https://github.com/nodejs/docker-node/pull/222","diff_url":"https://github.com/nodejs/docker-node/pull/222.diff","patch_url":"https://github.com/nodejs/docker-node/pull/222.patch","issue_url":"https://api.github.com/repos/nodejs/docker-node/issues/222","number":222,"state":"open","locked":false,"title":"Proposal: Introduce Dockerfiles for windowsservercore","user":{"login":"StefanScherer","id":207759,"avatar_url":"https://avatars.githubusercontent.com/u/207759?v=3","gravatar_id":"","url":"https://api.github.com/users/StefanScherer","html_url":"https://github.com/StefanScherer","followers_url":"https://api.github.com/users/StefanScherer/followers","following_url":"https://api.github.com/users/StefanScherer/following{/other_user}","gists_url":"https://api.github.com/users/StefanScherer/gists{/gist_id}","starred_url":"https://api.github.com/users/StefanScherer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/StefanScherer/subscriptions","organizations_url":"https://api.github.com/users/StefanScherer/orgs","repos_url":"https://api.github.com/users/StefanScherer/repos","events_url":"https://api.github.com/users/StefanScherer/events{/privacy}","received_events_url":"https://api.github.com/users/StefanScherer/received_events","type":"User","site_admin":false},"body":"After `golang` now has its first Windows Docker image on [Docker Hub](https://hub.docker.com/_/golang/) it is time for `node` to provide an official Windows Docker image as well.\r\n\r\nThis PR is a proposal to build and push Windows Docker images for the `windowsservercore` variant which works on Windows Server 2016 TP5 on Azure or locally in a VM or on baremetal.\r\n\r\nThe `test-build.ps1` can be called to build the images. It downloads the ZIP files for Node.js 4.5.0 and 6.4.0 and builds these Docker images:\r\n\r\n* node:4.5.0-windowsservercore\r\n* node:4.5.0-windowsservercore-onbuild\r\n* node:6.4.0-windowsservercore\r\n* node:6.4.0-windowsservercore-onbuild\r\n\r\nIn my previous work building a Windows Docker image I used the MSI packages which can be found here https://github.com/StefanScherer/dockerfiles-windows/tree/master/node, but this results in a slightly bigger Docker image as Windows caches the MSI packages in a second place even after removing it in the Dockerfile. So I switched to the ZIP files.\r\n\r\nThe labels for the Docker images are based on the work for the `golang` Docker images.\r\n\r\nSee also:\r\n- https://github.com/docker-library/golang/pull/106\r\n- https://hub.docker.com/_/golang/\r\n\r\nFor information about how to get Docker running on Windows, please see the relevant [Windows Server Quick Start](https://msdn.microsoft.com/en-us/virtualization/windowscontainers/quick_start/quick_start_windows_server) guide provided by Microsoft.\r\n\r\nFuture:\r\nFor Windows 10 Anniversary Update 1607 we need the `nanoserver` variant which I plan to propose in another PR. My current way to build that is described here https://stefanscherer.github.io/how-to-build-nodejs-nanoserver-image/ and still needs a Windows Server 2016.\r\n","created_at":"2016-08-25T14:59:46Z","updated_at":"2016-08-25T15:13:04Z","closed_at":null,"merged_at":null,"merge_commit_sha":"f9f32b9e01ce39d096e94d04cc9206533680374c","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/nodejs/docker-node/pulls/222/commits","review_comments_url":"https://api.github.com/repos/nodejs/docker-node/pulls/222/comments","review_comment_url":"https://api.github.com/repos/nodejs/docker-node/pulls/comments{/number}","comments_url":"https://api.github.com/repos/nodejs/docker-node/issues/222/comments","statuses_url":"https://api.github.com/repos/nodejs/docker-node/statuses/fce8ee6a06735aa55c6491c979d307cf0f130ad0","head":{"label":"StefanScherer:introduce-windows-dockerfiles","ref":"introduce-windows-dockerfiles","sha":"fce8ee6a06735aa55c6491c979d307cf0f130ad0","user":{"login":"StefanScherer","id":207759,"avatar_url":"https://avatars.githubusercontent.com/u/207759?v=3","gravatar_id":"","url":"https://api.github.com/users/StefanScherer","html_url":"https://github.com/StefanScherer","followers_url":"https://api.github.com/users/StefanScherer/followers","following_url":"https://api.github.com/users/StefanScherer/following{/other_user}","gists_url":"https://api.github.com/users/StefanScherer/gists{/gist_id}","starred_url":"https://api.github.com/users/StefanScherer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/StefanScherer/subscriptions","organizations_url":"https://api.github.com/users/StefanScherer/orgs","repos_url":"https://api.github.com/users/StefanScherer/repos","events_url":"https://api.github.com/users/StefanScherer/events{/privacy}","received_events_url":"https://api.github.com/users/StefanScherer/received_events","type":"User","site_admin":false},"repo":{"id":66549125,"name":"docker-node","full_name":"StefanScherer/docker-node","owner":{"login":"StefanScherer","id":207759,"avatar_url":"https://avatars.githubusercontent.com/u/207759?v=3","gravatar_id":"","url":"https://api.github.com/users/StefanScherer","html_url":"https://github.com/StefanScherer","followers_url":"https://api.github.com/users/StefanScherer/followers","following_url":"https://api.github.com/users/StefanScherer/following{/other_user}","gists_url":"https://api.github.com/users/StefanScherer/gists{/gist_id}","starred_url":"https://api.github.com/users/StefanScherer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/StefanScherer/subscriptions","organizations_url":"https://api.github.com/users/StefanScherer/orgs","repos_url":"https://api.github.com/users/StefanScherer/repos","events_url":"https://api.github.com/users/StefanScherer/events{/privacy}","received_events_url":"https://api.github.com/users/StefanScherer/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/StefanScherer/docker-node","description":"Official Docker Image for Node.js :whale: :turtle: :rocket: ","fork":true,"url":"https://api.github.com/repos/StefanScherer/docker-node","forks_url":"https://api.github.com/repos/StefanScherer/docker-node/forks","keys_url":"https://api.github.com/repos/StefanScherer/docker-node/keys{/key_id}","collaborators_url":"https://api.github.com/repos/StefanScherer/docker-node/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/StefanScherer/docker-node/teams","hooks_url":"https://api.github.com/repos/StefanScherer/docker-node/hooks","issue_events_url":"https://api.github.com/repos/StefanScherer/docker-node/issues/events{/number}","events_url":"https://api.github.com/repos/StefanScherer/docker-node/events","assignees_url":"https://api.github.com/repos/StefanScherer/docker-node/assignees{/user}","branches_url":"https://api.github.com/repos/StefanScherer/docker-node/branches{/branch}","tags_url":"https://api.github.com/repos/StefanScherer/docker-node/tags","blobs_url":"https://api.github.com/repos/StefanScherer/docker-node/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/StefanScherer/docker-node/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/StefanScherer/docker-node/git/refs{/sha}","trees_url":"https://api.github.com/repos/StefanScherer/docker-node/git/trees{/sha}","statuses_url":"https://api.github.com/repos/StefanScherer/docker-node/statuses/{sha}","languages_url":"https://api.github.com/repos/StefanScherer/docker-node/languages","stargazers_url":"https://api.github.com/repos/StefanScherer/docker-node/stargazers","contributors_url":"https://api.github.com/repos/StefanScherer/docker-node/contributors","subscribers_url":"https://api.github.com/repos/StefanScherer/docker-node/subscribers","subscription_url":"https://api.github.com/repos/StefanScherer/docker-node/subscription","commits_url":"https://api.github.com/repos/StefanScherer/docker-node/commits{/sha}","git_commits_url":"https://api.github.com/repos/StefanScherer/docker-node/git/commits{/sha}","comments_url":"https://api.github.com/repos/StefanScherer/docker-node/comments{/number}","issue_comment_url":"https://api.github.com/repos/StefanScherer/docker-node/issues/comments{/number}","contents_url":"https://api.github.com/repos/StefanScherer/docker-node/contents/{+path}","compare_url":"https://api.github.com/repos/StefanScherer/docker-node/compare/{base}...{head}","merges_url":"https://api.github.com/repos/StefanScherer/docker-node/merges","archive_url":"https://api.github.com/repos/StefanScherer/docker-node/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/StefanScherer/docker-node/downloads","issues_url":"https://api.github.com/repos/StefanScherer/docker-node/issues{/number}","pulls_url":"https://api.github.com/repos/StefanScherer/docker-node/pulls{/number}","milestones_url":"https://api.github.com/repos/StefanScherer/docker-node/milestones{/number}","notifications_url":"https://api.github.com/repos/StefanScherer/docker-node/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/StefanScherer/docker-node/labels{/name}","releases_url":"https://api.github.com/repos/StefanScherer/docker-node/releases{/id}","deployments_url":"https://api.github.com/repos/StefanScherer/docker-node/deployments","created_at":"2016-08-25T10:35:12Z","updated_at":"2016-08-25T10:35:13Z","pushed_at":"2016-08-25T14:32:22Z","git_url":"git://github.com/StefanScherer/docker-node.git","ssh_url":"git@github.com:StefanScherer/docker-node.git","clone_url":"https://github.com/StefanScherer/docker-node.git","svn_url":"https://github.com/StefanScherer/docker-node","homepage":"https://hub.docker.com/_/node/","size":301,"stargazers_count":0,"watchers_count":0,"language":"Shell","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"nodejs:master","ref":"master","sha":"73b0a6ee7f0392e0cd6debd2924b288555cdcbcc","user":{"login":"nodejs","id":9950313,"avatar_url":"https://avatars.githubusercontent.com/u/9950313?v=3","gravatar_id":"","url":"https://api.github.com/users/nodejs","html_url":"https://github.com/nodejs","followers_url":"https://api.github.com/users/nodejs/followers","following_url":"https://api.github.com/users/nodejs/following{/other_user}","gists_url":"https://api.github.com/users/nodejs/gists{/gist_id}","starred_url":"https://api.github.com/users/nodejs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nodejs/subscriptions","organizations_url":"https://api.github.com/users/nodejs/orgs","repos_url":"https://api.github.com/users/nodejs/repos","events_url":"https://api.github.com/users/nodejs/events{/privacy}","received_events_url":"https://api.github.com/users/nodejs/received_events","type":"Organization","site_admin":false},"repo":{"id":27929056,"name":"docker-node","full_name":"nodejs/docker-node","owner":{"login":"nodejs","id":9950313,"avatar_url":"https://avatars.githubusercontent.com/u/9950313?v=3","gravatar_id":"","url":"https://api.github.com/users/nodejs","html_url":"https://github.com/nodejs","followers_url":"https://api.github.com/users/nodejs/followers","following_url":"https://api.github.com/users/nodejs/following{/other_user}","gists_url":"https://api.github.com/users/nodejs/gists{/gist_id}","starred_url":"https://api.github.com/users/nodejs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nodejs/subscriptions","organizations_url":"https://api.github.com/users/nodejs/orgs","repos_url":"https://api.github.com/users/nodejs/repos","events_url":"https://api.github.com/users/nodejs/events{/privacy}","received_events_url":"https://api.github.com/users/nodejs/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/nodejs/docker-node","description":"Official Docker Image for Node.js :whale: :turtle: :rocket: ","fork":false,"url":"https://api.github.com/repos/nodejs/docker-node","forks_url":"https://api.github.com/repos/nodejs/docker-node/forks","keys_url":"https://api.github.com/repos/nodejs/docker-node/keys{/key_id}","collaborators_url":"https://api.github.com/repos/nodejs/docker-node/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/nodejs/docker-node/teams","hooks_url":"https://api.github.com/repos/nodejs/docker-node/hooks","issue_events_url":"https://api.github.com/repos/nodejs/docker-node/issues/events{/number}","events_url":"https://api.github.com/repos/nodejs/docker-node/events","assignees_url":"https://api.github.com/repos/nodejs/docker-node/assignees{/user}","branches_url":"https://api.github.com/repos/nodejs/docker-node/branches{/branch}","tags_url":"https://api.github.com/repos/nodejs/docker-node/tags","blobs_url":"https://api.github.com/repos/nodejs/docker-node/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/nodejs/docker-node/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/nodejs/docker-node/git/refs{/sha}","trees_url":"https://api.github.com/repos/nodejs/docker-node/git/trees{/sha}","statuses_url":"https://api.github.com/repos/nodejs/docker-node/statuses/{sha}","languages_url":"https://api.github.com/repos/nodejs/docker-node/languages","stargazers_url":"https://api.github.com/repos/nodejs/docker-node/stargazers","contributors_url":"https://api.github.com/repos/nodejs/docker-node/contributors","subscribers_url":"https://api.github.com/repos/nodejs/docker-node/subscribers","subscription_url":"https://api.github.com/repos/nodejs/docker-node/subscription","commits_url":"https://api.github.com/repos/nodejs/docker-node/commits{/sha}","git_commits_url":"https://api.github.com/repos/nodejs/docker-node/git/commits{/sha}","comments_url":"https://api.github.com/repos/nodejs/docker-node/comments{/number}","issue_comment_url":"https://api.github.com/repos/nodejs/docker-node/issues/comments{/number}","contents_url":"https://api.github.com/repos/nodejs/docker-node/contents/{+path}","compare_url":"https://api.github.com/repos/nodejs/docker-node/compare/{base}...{head}","merges_url":"https://api.github.com/repos/nodejs/docker-node/merges","archive_url":"https://api.github.com/repos/nodejs/docker-node/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/nodejs/docker-node/downloads","issues_url":"https://api.github.com/repos/nodejs/docker-node/issues{/number}","pulls_url":"https://api.github.com/repos/nodejs/docker-node/pulls{/number}","milestones_url":"https://api.github.com/repos/nodejs/docker-node/milestones{/number}","notifications_url":"https://api.github.com/repos/nodejs/docker-node/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/nodejs/docker-node/labels{/name}","releases_url":"https://api.github.com/repos/nodejs/docker-node/releases{/id}","deployments_url":"https://api.github.com/repos/nodejs/docker-node/deployments","created_at":"2014-12-12T16:48:48Z","updated_at":"2016-08-24T12:12:28Z","pushed_at":"2016-08-25T14:59:47Z","git_url":"git://github.com/nodejs/docker-node.git","ssh_url":"git@github.com:nodejs/docker-node.git","clone_url":"https://github.com/nodejs/docker-node.git","svn_url":"https://github.com/nodejs/docker-node","homepage":"https://hub.docker.com/_/node/","size":301,"stargazers_count":621,"watchers_count":621,"language":"Shell","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":154,"mirror_url":null,"open_issues_count":20,"forks":154,"open_issues":20,"watchers":621,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/nodejs/docker-node/pulls/222"},"html":{"href":"https://github.com/nodejs/docker-node/pull/222"},"issue":{"href":"https://api.github.com/repos/nodejs/docker-node/issues/222"},"comments":{"href":"https://api.github.com/repos/nodejs/docker-node/issues/222/comments"},"review_comments":{"href":"https://api.github.com/repos/nodejs/docker-node/pulls/222/comments"},"review_comment":{"href":"https://api.github.com/repos/nodejs/docker-node/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/nodejs/docker-node/pulls/222/commits"},"statuses":{"href":"https://api.github.com/repos/nodejs/docker-node/statuses/fce8ee6a06735aa55c6491c979d307cf0f130ad0"}}}}
{"actor":{"display_login":"tianon"}}