{"action":"created","comment":{"url":"https://api.github.com/repos/dotnet/docs/pulls/comments/148638129","pull_request_review_id":73914092,"id":148638129,"diff_hunk":"@@ -2,224 +2,255 @@\n title: Building .NET Core Docker Images\n description: Understanding Docker images and .NET Core\n keywords: .NET, .NET Core, Docker\n-author: spboyer\n-ms.author: shboyer\n-ms.date: 09/06/2017\n+author: jralexander\n+ms.author: johalex\n+ms.date: 10/11/2017\n ms.topic: article\n ms.prod: .net-core\n ms.technology: dotnet-docker\n ms.devlang: dotnet\n ms.assetid: 03c28597-7e73-46d6-a9c3-f9cb55642739\n ---\n+# Building Docker Images for .NET Core Applications\n \n-#Building Docker Images for .NET Core Applications\n-\n- \n-> [!IMPORTANT]\n-> We are in the process of updating this article for .NET Core 2.0. The following instructions are out of date. We sincerely apologize for any inconvenience!\n-\n-In order to get an understanding of how to use .NET Core and Docker together, we must first get to know the different Docker images that are offered and when is the right use case for them. Here we will walk through the variations offered, build an ASP.NET Core Web API, use the Yeoman Docker tools to create a debuggable container as well as peek at how Visual Studio Code can assist in the process. \n+ In this tutorial, We focus on how to use .NET Core on Docker. First, we explore the different Docker images offered and maintained by Microsoft, and use cases. We then learn how to build and dockerize an ASP.NET Core app.\n \n ## Docker Image Optimizations\n \n When building Docker images for developers, we focused on three main scenarios:\n \n-- Images used to develop .NET Core apps\n-- Images used to build .NET Core apps\n-- Images used to run .NET Core apps\n+* Images used to develop .NET Core apps\n+* Images used to build .NET Core apps\n+* Images used to run .NET Core apps\n \n Why three images?\n-When developing, building and running containerized applications, we have different priorities.\n-- **Development:**  How fast can you iterate changes, and the ability to debug the changes. The size of the image isn't as important, rather can you make changes to your code and see them quickly. Some of our tools, like [yo docker](https://aka.ms/yodocker) for use in Visual Studio Code use this image during development time. \n-- **Build:** What's needed to compile your app. This includes the compiler and any other dependencies to optimize the binaries. This image isn't the image you deploy, rather it's an image you use to build the content you place into a production image. This image would be used in your continuous integration, or build environment. For instance, rather than installing all the dependencies directly on a build agent, the build agent would instance a build image to compile the application with all the dependencies required to build the app contained within the image. Your build agent only needs to know how to run this Docker image. \n-- **Production:** How fast you can deploy and start your image. This image is small so it can quickly travel across the network from your Docker Registry to your Docker hosts. The contents are ready to run enabling the fastest time from Docker run to processing results. In the immutable Docker model, there's no need for dynamic compilation of code. The content you place in this image would be limited to the binaries and content needed to run the application. For example, the published output using `dotnet publish` which contains the compiled binaries, images, .js and .css files. Over time, you'll see images that contain pre-jitted packages.  \n+When developing, building, and running containerized applications, we have different priorities.\n+\n+* **Development:**  The priority focuses on quickly iterate changes, and the ability to debug the changes. The size of the image isn't as important, rather can you make changes to your code and see them quickly?\n+\n+* **Build:** This image contains everything needed to compile your app, which includes the compiler and any other dependencies to optimize the binaries.  You use the build image to create the assets you place into a production image. The build image would be used for continuous integration, or in a build environment. This approach allows a build agent to compile and build the application (with all the required dependencies) in a build image instance. Your build agent only needs to know how to run this Docker image.\n+\n+* **Production:** How fast you can deploy and start your image? This image is small so network performance from your Docker Registry to your Docker hosts is optimized. The contents are ready to run enabling the fastest time from Docker run to processing results. Dynamic code compilation isn't needed in the Docker model. The content you place in this image would be limited to the binaries and content needed to run the application.\n+\n+    For example, the `dotnet publish` output contains:\n+\n+    * the compiled binaries\n+    * .js and .css files\n \n-Though there are multiple versions of the .NET Core image, they all share one or more layers. The amount of disk space needed to store or the delta to pull from your registry is much smaller than the whole because all of the images share the same base layer and potentially others.  \n+\n+The reason to include the `dotnet publish` command output in your production image is to keep its' size to a minimum.\n+\n+Some .NET Core images share layers between different tags so downloading the latest tag is a relatively lightweight process. If you already have an older version on your machine, this architecture decreases the needed disk space.\n+\n+When multiple applications use common images on the same machine, memory is shared between the common images. The images must be the same to be shared.\n \n ## Docker image variations\n \n-To achieve the goals above, we provide image variants under [microsoft/dotnet](https://hub.docker.com/r/microsoft/dotnet/).\n+To achieve the goals above, we provide image variants under [`microsoft/dotnet`](https://hub.docker.com/r/microsoft/dotnet/).\n+\n+* `microsoft/dotnet:<version>-sdk`(`microsoft/dotnet:2.0.0-sdk`) This image contains the .NET Core SDK, which includes the .NET Core and Command Line Tools (CLI). This image maps to the **development scenario**. You use this image for local development, debugging, and unit testing. This image can also be used for your **build** scenarios. Using `microsoft/dotnet:sdk` always gives you the latest version.\n \n-- `microsoft/dotnet:<version>-sdk` : that is **microsoft/dotnet:1.0.0-preview2-sdk**, this image contains the .NET Core SDK which includes the .NET Core and Command Line Tools (CLI). This image maps to the **development scenario**. You would use this image for local development, debugging and unit testing. For example, all the development you do, before you check in your code. This image can also be used for your **build** scenarios.\n+> [!TIP]\n+> If you are unsure about your needs, you want to use the `microsoft/dotnet:<version>-sdk` image. As the \"de facto\" image, it's designed to be used as a throw away container (mount your source code and start the container to start your app), and as the base image to build other images from.\n \n-- `microsoft/dotnet:<version>-core` : that is **microsoft/dotnet:1.0.0-core**, image which runs [portable .NET Core applications](../deploying/index.md) and it is optimized for running your application in **production**. It does not contain the SDK, and is meant to take the optimized output of `dotnet publish`. The portable runtime is well suited for Docker container scenarios as running multiple containers benefit from shared image layers.  \n+* `microsoft/dotnet:<version>-runtime`: This image contains the .NET Core (runtime and libraries) and is optimized for running .NET Core apps in **production**.\n \n ## Alternative images\n \n In addition to the optimized scenarios of development, build and production, we provide additional images:\n \n-- `microsoft/dotnet:<version>-onbuild` : that is **microsoft/dotnet:1.0.0-preview2-onbuild**, contains [ONBUILD](https://docs.docker.com/engine/reference/builder/#/onbuild) triggers. The build will [COPY](https://docs.docker.com/engine/reference/builder/#/copy) your application, run `dotnet restore` ([see note](#dotnet-restore-note)) and create an [ENTRYPOINT](https://docs.docker.com/engine/reference/builder/#/entrypoint) `dotnet run` instruction to run the application when the Docker image is run. While not an optimized image for production, some may find it useful to simply copy their source code into an image and run it. \n-\n-- `microsoft/dotnet:<version>-core-deps` : that is **microsoft/dotnet:1.0.0-core-deps**, if you wish to run self-contained applications use this image. It contains the operating system with all of the native dependencies needed by .NET Core. This image can also be used as a base image for your own custom CoreFX or CoreCLR builds. While the **onbuild** variant is optimized to simply place your code in an image and run it, this image is optimized to have only the operating system dependencies required to run .NET Core apps that have the .NET runtime packaged with the application. This image isn't generally optimized for running multiple .NET Core containers on the same host, as each image carries the .NET Core runtime within the application, and you will not benefit from image layering.   \n+* `microsoft/dotnet:<version>-runtime-deps`: The **runtime-deps** image contains the operating system with all of the native dependencies needed by .NET Core. This image is for [self-contained applications](https://docs.microsoft.com/dotnet/core/deploying/index).\n \n Latest versions of each variant:\n \n-- `microsoft/dotnet` or `microsoft/dotnet:latest` (includes SDK)\n-- `microsoft/dotnet:onbuild`\n-- `microsoft/dotnet:core`\n-- `microsoft/dotnet:core-deps`\n+* `microsoft/dotnet` or `microsoft/dotnet:latest` (includes SDK)\n+* `microsoft/dotnet:sdk`\n+* `microsoft/dotnet:runtime`\n+* `microsoft/dotnet:runtime-deps`\n \n-Here is a list of the images after a `docker pull <imagename>` on a development machine to show the various sizes. Notice, the development/build variant, `microsoft/dotnet:1.0.0-preview2-sdk` is larger as it contains the SDK to develop and build your application. The production variant, `microsoft/dotnet:core` is smaller, as it only contains the .NET Core runtime. \n-The minimal image capable of being used on Linux, `core-deps`, is quite smaller, however your application will need to copy a private copy of the .NET runtime with it. Since containers are already private isolation barriers, you will lose that optimization when running multiple dotnet based containers. \n+Here is an images list to show the various image sizes. The actual sizes will vary with each release, but SDK (`microsoft/dotnet:2.0.0-sdk`) will be larger than runtime, and runtime (`microsoft/dotnet:runtime`) will be larger than runtime-deps (`runtime-deps`).\n \n-```\n-REPOSITORY          TAG                     IMAGE ID            SIZE\n-microsoft/dotnet    1.0.0-preview2-onbuild  19b6a6c4b1db        540.4 MB\n-microsoft/dotnet    onbuild                 19b6a6c4b1db        540.4 MB\n-microsoft/dotnet    1.0.0-preview2-sdk      a92c3d9ad0e7        540.4 MB\n-microsoft/dotnet    core                    5224a9f2a2aa        253.2 MB\n-microsoft/dotnet    1.0.0-core-deps         c981a2eebe0e        166.2 MB\n-microsoft/dotnet    core-deps               c981a2eebe0e        166.2 MB\n-microsoft/dotnet    latest                  03c10abbd08a        540.4 MB\n-microsoft/dotnet    1.0.0-core              b8da4a1fd280        253.2 MB\n+```console\n+REPOSITORY          TAG                 IMAGE ID            SIZE\n+microsoft/dotnet    latest              cc72b1545c62        1.64GB","path":"docs/core/docker/building-net-docker-images.md","position":114,"original_position":114,"commit_id":"19616d81cc0701f357edcd843542b0ac8dadd1ee","original_commit_id":"19616d81cc0701f357edcd843542b0ac8dadd1ee","user":{"login":"JRAlexander","id":4804801,"avatar_url":"https://avatars0.githubusercontent.com/u/4804801?v=4","gravatar_id":"","url":"https://api.github.com/users/JRAlexander","html_url":"https://github.com/JRAlexander","followers_url":"https://api.github.com/users/JRAlexander/followers","following_url":"https://api.github.com/users/JRAlexander/following{/other_user}","gists_url":"https://api.github.com/users/JRAlexander/gists{/gist_id}","starred_url":"https://api.github.com/users/JRAlexander/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JRAlexander/subscriptions","organizations_url":"https://api.github.com/users/JRAlexander/orgs","repos_url":"https://api.github.com/users/JRAlexander/repos","events_url":"https://api.github.com/users/JRAlexander/events{/privacy}","received_events_url":"https://api.github.com/users/JRAlexander/received_events","type":"User","site_admin":false},"body":"Given that, it might be less confusing if we removed this altogether.  Thoughts?","created_at":"2017-11-02T19:35:16Z","updated_at":"2017-11-02T19:35:16Z","html_url":"https://github.com/dotnet/docs/pull/3380#discussion_r148638129","pull_request_url":"https://api.github.com/repos/dotnet/docs/pulls/3380","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/dotnet/docs/pulls/comments/148638129"},"html":{"href":"https://github.com/dotnet/docs/pull/3380#discussion_r148638129"},"pull_request":{"href":"https://api.github.com/repos/dotnet/docs/pulls/3380"}},"in_reply_to_id":147808779},"pull_request":{"url":"https://api.github.com/repos/dotnet/docs/pulls/3380","id":146085951,"html_url":"https://github.com/dotnet/docs/pull/3380","diff_url":"https://github.com/dotnet/docs/pull/3380.diff","patch_url":"https://github.com/dotnet/docs/pull/3380.patch","issue_url":"https://api.github.com/repos/dotnet/docs/issues/3380","number":3380,"state":"open","locked":false,"title":"Revised .NET Docker Images Topic and Created two new Docker Topics","user":{"login":"JRAlexander","id":4804801,"avatar_url":"https://avatars0.githubusercontent.com/u/4804801?v=4","gravatar_id":"","url":"https://api.github.com/users/JRAlexander","html_url":"https://github.com/JRAlexander","followers_url":"https://api.github.com/users/JRAlexander/followers","following_url":"https://api.github.com/users/JRAlexander/following{/other_user}","gists_url":"https://api.github.com/users/JRAlexander/gists{/gist_id}","starred_url":"https://api.github.com/users/JRAlexander/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JRAlexander/subscriptions","organizations_url":"https://api.github.com/users/JRAlexander/orgs","repos_url":"https://api.github.com/users/JRAlexander/repos","events_url":"https://api.github.com/users/JRAlexander/events{/privacy}","received_events_url":"https://api.github.com/users/JRAlexander/received_events","type":"User","site_admin":false},"body":"# Revised .NET Docker Images Topic and Created two new Docker Topics\r\n\r\n## Summary\r\nUpdated \"Building Docker Images for .NET Core Applications\" Topic, and created two new topics - \"Introduction to .NET and Docker\", and \"Learn Docker Basics with .NET Core \".\r\n\r\n[Building Docker Images for .NET Core Applications - Internal Review URL](https://review.docs.microsoft.com/en-us/dotnet/core/docker/building-net-docker-images?branch=pr-en-us-3380)\r\n[Introduction to .NET and Docker - Internal Review URL](https://review.docs.microsoft.com/en-us/dotnet/core/docker/intro-net-docker?branch=pr-en-us-3380)\r\n[Learn Docker Basics with .NET Core - Internal Review URL](https://review.docs.microsoft.com/en-us/dotnet/core/docker/docker-basics-dotnet-core?branch=pr-en-us-3380)\r\n\r\nFixes #2683 \r\nFixes #2652 \r\n\r\nThis PR completes #2652 Revise Building Docker Images for .NET Core Applications Topic, and\r\n#2683 [NewTopic] Learn Docker Basics with .NET Core.\r\n\r\n## Details\r\nPlease see the above issues for more details. \r\n\r\n## Suggested Reviewers\r\n@kendrahavens, @mairaw  ","created_at":"2017-10-11T23:31:24Z","updated_at":"2017-11-02T19:35:16Z","closed_at":null,"merged_at":null,"merge_commit_sha":"2f2820738814ccd89dd6405bc84eea738a0731e5","assignee":null,"assignees":[],"requested_reviewers":[{"login":"richlander","id":2608468,"avatar_url":"https://avatars3.githubusercontent.com/u/2608468?v=4","gravatar_id":"","url":"https://api.github.com/users/richlander","html_url":"https://github.com/richlander","followers_url":"https://api.github.com/users/richlander/followers","following_url":"https://api.github.com/users/richlander/following{/other_user}","gists_url":"https://api.github.com/users/richlander/gists{/gist_id}","starred_url":"https://api.github.com/users/richlander/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/richlander/subscriptions","organizations_url":"https://api.github.com/users/richlander/orgs","repos_url":"https://api.github.com/users/richlander/repos","events_url":"https://api.github.com/users/richlander/events{/privacy}","received_events_url":"https://api.github.com/users/richlander/received_events","type":"User","site_admin":false},{"login":"kendrahavens","id":8293542,"avatar_url":"https://avatars2.githubusercontent.com/u/8293542?v=4","gravatar_id":"","url":"https://api.github.com/users/kendrahavens","html_url":"https://github.com/kendrahavens","followers_url":"https://api.github.com/users/kendrahavens/followers","following_url":"https://api.github.com/users/kendrahavens/following{/other_user}","gists_url":"https://api.github.com/users/kendrahavens/gists{/gist_id}","starred_url":"https://api.github.com/users/kendrahavens/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kendrahavens/subscriptions","organizations_url":"https://api.github.com/users/kendrahavens/orgs","repos_url":"https://api.github.com/users/kendrahavens/repos","events_url":"https://api.github.com/users/kendrahavens/events{/privacy}","received_events_url":"https://api.github.com/users/kendrahavens/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/dotnet/docs/milestones/28","html_url":"https://github.com/dotnet/docs/milestone/28","labels_url":"https://api.github.com/repos/dotnet/docs/milestones/28/labels","id":2808391,"number":28,"title":"Sprint 126 (10/21/17 - 11/10/17)","description":"Goal Summary for this sprint milestone\r\n\r\n* API Ref Improvement - If Then Else  VB - John Alexander\r\n* Create Contributor Guide - Internal and External (minimal) Drafts - John Alexander\r\n* Merging Docker Topics after reviews  - John Alexander\r\n* WPF expanded Articles - John Alexander\r\n","creator":{"login":"mairaw","id":12971179,"avatar_url":"https://avatars2.githubusercontent.com/u/12971179?v=4","gravatar_id":"","url":"https://api.github.com/users/mairaw","html_url":"https://github.com/mairaw","followers_url":"https://api.github.com/users/mairaw/followers","following_url":"https://api.github.com/users/mairaw/following{/other_user}","gists_url":"https://api.github.com/users/mairaw/gists{/gist_id}","starred_url":"https://api.github.com/users/mairaw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mairaw/subscriptions","organizations_url":"https://api.github.com/users/mairaw/orgs","repos_url":"https://api.github.com/users/mairaw/repos","events_url":"https://api.github.com/users/mairaw/events{/privacy}","received_events_url":"https://api.github.com/users/mairaw/received_events","type":"User","site_admin":false},"open_issues":47,"closed_issues":10,"state":"open","created_at":"2017-10-02T20:09:56Z","updated_at":"2017-11-02T18:06:26Z","due_on":"2017-11-10T08:00:00Z","closed_at":null},"commits_url":"https://api.github.com/repos/dotnet/docs/pulls/3380/commits","review_comments_url":"https://api.github.com/repos/dotnet/docs/pulls/3380/comments","review_comment_url":"https://api.github.com/repos/dotnet/docs/pulls/comments{/number}","comments_url":"https://api.github.com/repos/dotnet/docs/issues/3380/comments","statuses_url":"https://api.github.com/repos/dotnet/docs/statuses/19616d81cc0701f357edcd843542b0ac8dadd1ee","head":{"label":"JRAlexander:intro-docker","ref":"intro-docker","sha":"19616d81cc0701f357edcd843542b0ac8dadd1ee","user":{"login":"JRAlexander","id":4804801,"avatar_url":"https://avatars0.githubusercontent.com/u/4804801?v=4","gravatar_id":"","url":"https://api.github.com/users/JRAlexander","html_url":"https://github.com/JRAlexander","followers_url":"https://api.github.com/users/JRAlexander/followers","following_url":"https://api.github.com/users/JRAlexander/following{/other_user}","gists_url":"https://api.github.com/users/JRAlexander/gists{/gist_id}","starred_url":"https://api.github.com/users/JRAlexander/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JRAlexander/subscriptions","organizations_url":"https://api.github.com/users/JRAlexander/orgs","repos_url":"https://api.github.com/users/JRAlexander/repos","events_url":"https://api.github.com/users/JRAlexander/events{/privacy}","received_events_url":"https://api.github.com/users/JRAlexander/received_events","type":"User","site_admin":false},"repo":{"id":96824776,"name":"docs","full_name":"JRAlexander/docs","owner":{"login":"JRAlexander","id":4804801,"avatar_url":"https://avatars0.githubusercontent.com/u/4804801?v=4","gravatar_id":"","url":"https://api.github.com/users/JRAlexander","html_url":"https://github.com/JRAlexander","followers_url":"https://api.github.com/users/JRAlexander/followers","following_url":"https://api.github.com/users/JRAlexander/following{/other_user}","gists_url":"https://api.github.com/users/JRAlexander/gists{/gist_id}","starred_url":"https://api.github.com/users/JRAlexander/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JRAlexander/subscriptions","organizations_url":"https://api.github.com/users/JRAlexander/orgs","repos_url":"https://api.github.com/users/JRAlexander/repos","events_url":"https://api.github.com/users/JRAlexander/events{/privacy}","received_events_url":"https://api.github.com/users/JRAlexander/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/JRAlexander/docs","description":"This repository contains .NET Documentation.","fork":true,"url":"https://api.github.com/repos/JRAlexander/docs","forks_url":"https://api.github.com/repos/JRAlexander/docs/forks","keys_url":"https://api.github.com/repos/JRAlexander/docs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/JRAlexander/docs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/JRAlexander/docs/teams","hooks_url":"https://api.github.com/repos/JRAlexander/docs/hooks","issue_events_url":"https://api.github.com/repos/JRAlexander/docs/issues/events{/number}","events_url":"https://api.github.com/repos/JRAlexander/docs/events","assignees_url":"https://api.github.com/repos/JRAlexander/docs/assignees{/user}","branches_url":"https://api.github.com/repos/JRAlexander/docs/branches{/branch}","tags_url":"https://api.github.com/repos/JRAlexander/docs/tags","blobs_url":"https://api.github.com/repos/JRAlexander/docs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/JRAlexander/docs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/JRAlexander/docs/git/refs{/sha}","trees_url":"https://api.github.com/repos/JRAlexander/docs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/JRAlexander/docs/statuses/{sha}","languages_url":"https://api.github.com/repos/JRAlexander/docs/languages","stargazers_url":"https://api.github.com/repos/JRAlexander/docs/stargazers","contributors_url":"https://api.github.com/repos/JRAlexander/docs/contributors","subscribers_url":"https://api.github.com/repos/JRAlexander/docs/subscribers","subscription_url":"https://api.github.com/repos/JRAlexander/docs/subscription","commits_url":"https://api.github.com/repos/JRAlexander/docs/commits{/sha}","git_commits_url":"https://api.github.com/repos/JRAlexander/docs/git/commits{/sha}","comments_url":"https://api.github.com/repos/JRAlexander/docs/comments{/number}","issue_comment_url":"https://api.github.com/repos/JRAlexander/docs/issues/comments{/number}","contents_url":"https://api.github.com/repos/JRAlexander/docs/contents/{+path}","compare_url":"https://api.github.com/repos/JRAlexander/docs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/JRAlexander/docs/merges","archive_url":"https://api.github.com/repos/JRAlexander/docs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/JRAlexander/docs/downloads","issues_url":"https://api.github.com/repos/JRAlexander/docs/issues{/number}","pulls_url":"https://api.github.com/repos/JRAlexander/docs/pulls{/number}","milestones_url":"https://api.github.com/repos/JRAlexander/docs/milestones{/number}","notifications_url":"https://api.github.com/repos/JRAlexander/docs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/JRAlexander/docs/labels{/name}","releases_url":"https://api.github.com/repos/JRAlexander/docs/releases{/id}","deployments_url":"https://api.github.com/repos/JRAlexander/docs/deployments","created_at":"2017-07-10T21:55:05Z","updated_at":"2017-07-10T11:46:23Z","pushed_at":"2017-10-26T20:18:58Z","git_url":"git://github.com/JRAlexander/docs.git","ssh_url":"git@github.com:JRAlexander/docs.git","clone_url":"https://github.com/JRAlexander/docs.git","svn_url":"https://github.com/JRAlexander/docs","homepage":"https://docs.microsoft.com/dotnet","size":420532,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"dotnet:master","ref":"master","sha":"7b3b179825a260d96146e0337a29c6f85640fab7","user":{"login":"dotnet","id":9141961,"avatar_url":"https://avatars0.githubusercontent.com/u/9141961?v=4","gravatar_id":"","url":"https://api.github.com/users/dotnet","html_url":"https://github.com/dotnet","followers_url":"https://api.github.com/users/dotnet/followers","following_url":"https://api.github.com/users/dotnet/following{/other_user}","gists_url":"https://api.github.com/users/dotnet/gists{/gist_id}","starred_url":"https://api.github.com/users/dotnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dotnet/subscriptions","organizations_url":"https://api.github.com/users/dotnet/orgs","repos_url":"https://api.github.com/users/dotnet/repos","events_url":"https://api.github.com/users/dotnet/events{/privacy}","received_events_url":"https://api.github.com/users/dotnet/received_events","type":"Organization","site_admin":false},"repo":{"id":35890081,"name":"docs","full_name":"dotnet/docs","owner":{"login":"dotnet","id":9141961,"avatar_url":"https://avatars0.githubusercontent.com/u/9141961?v=4","gravatar_id":"","url":"https://api.github.com/users/dotnet","html_url":"https://github.com/dotnet","followers_url":"https://api.github.com/users/dotnet/followers","following_url":"https://api.github.com/users/dotnet/following{/other_user}","gists_url":"https://api.github.com/users/dotnet/gists{/gist_id}","starred_url":"https://api.github.com/users/dotnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dotnet/subscriptions","organizations_url":"https://api.github.com/users/dotnet/orgs","repos_url":"https://api.github.com/users/dotnet/repos","events_url":"https://api.github.com/users/dotnet/events{/privacy}","received_events_url":"https://api.github.com/users/dotnet/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/dotnet/docs","description":"This repository contains .NET Documentation.","fork":false,"url":"https://api.github.com/repos/dotnet/docs","forks_url":"https://api.github.com/repos/dotnet/docs/forks","keys_url":"https://api.github.com/repos/dotnet/docs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dotnet/docs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dotnet/docs/teams","hooks_url":"https://api.github.com/repos/dotnet/docs/hooks","issue_events_url":"https://api.github.com/repos/dotnet/docs/issues/events{/number}","events_url":"https://api.github.com/repos/dotnet/docs/events","assignees_url":"https://api.github.com/repos/dotnet/docs/assignees{/user}","branches_url":"https://api.github.com/repos/dotnet/docs/branches{/branch}","tags_url":"https://api.github.com/repos/dotnet/docs/tags","blobs_url":"https://api.github.com/repos/dotnet/docs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dotnet/docs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dotnet/docs/git/refs{/sha}","trees_url":"https://api.github.com/repos/dotnet/docs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dotnet/docs/statuses/{sha}","languages_url":"https://api.github.com/repos/dotnet/docs/languages","stargazers_url":"https://api.github.com/repos/dotnet/docs/stargazers","contributors_url":"https://api.github.com/repos/dotnet/docs/contributors","subscribers_url":"https://api.github.com/repos/dotnet/docs/subscribers","subscription_url":"https://api.github.com/repos/dotnet/docs/subscription","commits_url":"https://api.github.com/repos/dotnet/docs/commits{/sha}","git_commits_url":"https://api.github.com/repos/dotnet/docs/git/commits{/sha}","comments_url":"https://api.github.com/repos/dotnet/docs/comments{/number}","issue_comment_url":"https://api.github.com/repos/dotnet/docs/issues/comments{/number}","contents_url":"https://api.github.com/repos/dotnet/docs/contents/{+path}","compare_url":"https://api.github.com/repos/dotnet/docs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dotnet/docs/merges","archive_url":"https://api.github.com/repos/dotnet/docs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dotnet/docs/downloads","issues_url":"https://api.github.com/repos/dotnet/docs/issues{/number}","pulls_url":"https://api.github.com/repos/dotnet/docs/pulls{/number}","milestones_url":"https://api.github.com/repos/dotnet/docs/milestones{/number}","notifications_url":"https://api.github.com/repos/dotnet/docs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dotnet/docs/labels{/name}","releases_url":"https://api.github.com/repos/dotnet/docs/releases{/id}","deployments_url":"https://api.github.com/repos/dotnet/docs/deployments","created_at":"2015-05-19T15:13:32Z","updated_at":"2017-11-01T21:12:56Z","pushed_at":"2017-11-02T18:44:32Z","git_url":"git://github.com/dotnet/docs.git","ssh_url":"git@github.com:dotnet/docs.git","clone_url":"https://github.com/dotnet/docs.git","svn_url":"https://github.com/dotnet/docs","homepage":"https://docs.microsoft.com/dotnet","size":476569,"stargazers_count":724,"watchers_count":724,"language":null,"has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1495,"mirror_url":null,"archived":false,"open_issues_count":326,"forks":1495,"open_issues":326,"watchers":724,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/dotnet/docs/pulls/3380"},"html":{"href":"https://github.com/dotnet/docs/pull/3380"},"issue":{"href":"https://api.github.com/repos/dotnet/docs/issues/3380"},"comments":{"href":"https://api.github.com/repos/dotnet/docs/issues/3380/comments"},"review_comments":{"href":"https://api.github.com/repos/dotnet/docs/pulls/3380/comments"},"review_comment":{"href":"https://api.github.com/repos/dotnet/docs/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/dotnet/docs/pulls/3380/commits"},"statuses":{"href":"https://api.github.com/repos/dotnet/docs/statuses/19616d81cc0701f357edcd843542b0ac8dadd1ee"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"JRAlexander"}}