payload: {"action":"created","comment":{"url":"https://api.github.com/repos/dotnet/dotnet-docker/pulls/comments/366469265","pull_request_review_id":342619440,"id":366469265,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDM2NjQ2OTI2NQ==","diff_hunk":"@@ -0,0 +1,34 @@\n+# Establishing a Docker environment\n+\n+Docker establishes a virtualized environment that separates the guest (the container) from the host (your computer or production server). This separation is the definition of virtualization. When you establish a Docker environment, you specify the settings and files from the host that you want the guest to have access to.\n+\n+Programming environments, like .NET, have affordances for looking for assets and settings in multiple locations. They also may look at multiple types of files (like `.sln`, `.cs` and `.csproj` files). These locations and file types will not naturally be accessible from within a Docker environment. When you define a Docker environment, you need to intentionally specify all the files, locations and settings that are required for the operation and outcome you want.\n+\n+The remainder of this document will consider the various configuration options used by [.NET Core samples](README.md).\n+\n+The dotnetapp sample demonstrates establishing a Docker environment for a single directory of assets.\n+\n+The [Dockerfile](dotnetapp/Dockerfile) includes the following lines:\n+\n+```Dockerfile\n+COPY *.csproj .\n+RUN dotnet restore\n+```\n+\n+These lines copy any C# `.csproj` project files in the current directory and then restore them.\n+\n+The dotnetapp sample specifies the following `docker build` command to build an image:\n+\n+```console\n+docker build --pull -t dotnetapp .\n+```\n+\n+The `.` at the end of the command resolves to the current directory and establishes the part of the file system that `docker build` has access to. Another directory could also be specified. In the case of the dotnetapp sample, the `.` directory contains all required assets, both the project file and all source files (in this case, a single one).\n+\n+The following cases would require a different approach:\n+\n+* A `Directory.build.props` file exists that specifies additional settings. In this case, another `COPY` command is required for `*.props` files.\n+* A `nuget.config` file exists that specific additional feeds. In this case, another `COPY` command is required for `nuget.config`.","path":"samples/establishing-docker-environment.md","position":31,"original_position":31,"commit_id":"2151c9c4ee70aacabe4245b0a73f7909930cf443","original_commit_id":"0818269ed72af38011774345614c1c714259ad90","user":{"login":"MichaelSimons","id":8290530,"node_id":"MDQ6VXNlcjgyOTA1MzA=","avatar_url":"https://avatars1.githubusercontent.com/u/8290530?v=4","gravatar_id":"","url":"https://api.github.com/users/MichaelSimons","html_url":"https://github.com/MichaelSimons","followers_url":"https://api.github.com/users/MichaelSimons/followers","following_url":"https://api.github.com/users/MichaelSimons/following{/other_user}","gists_url":"https://api.github.com/users/MichaelSimons/gists{/gist_id}","starred_url":"https://api.github.com/users/MichaelSimons/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MichaelSimons/subscriptions","organizations_url":"https://api.github.com/users/MichaelSimons/orgs","repos_url":"https://api.github.com/users/MichaelSimons/repos","events_url":"https://api.github.com/users/MichaelSimons/events{/privacy}","received_events_url":"https://api.github.com/users/MichaelSimons/received_events","type":"User","site_admin":false},"body":"```suggestion\r\n* A `nuget.config` file exists that specifies additional feeds. In this case, another `COPY` command is required for `nuget.config`.\r\n```","created_at":"2020-01-14T17:20:48Z","updated_at":"2020-01-14T17:21:13Z","html_url":"https://github.com/dotnet/dotnet-docker/pull/1538#discussion_r366469265","pull_request_url":"https://api.github.com/repos/dotnet/dotnet-docker/pulls/1538","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/dotnet/dotnet-docker/pulls/comments/366469265"},"html":{"href":"https://github.com/dotnet/dotnet-docker/pull/1538#discussion_r366469265"},"pull_request":{"href":"https://api.github.com/repos/dotnet/dotnet-docker/pulls/1538"}}},"pull_request":{"url":"https://api.github.com/repos/dotnet/dotnet-docker/pulls/1538","id":355471121,"node_id":"MDExOlB1bGxSZXF1ZXN0MzU1NDcxMTIx","html_url":"https://github.com/dotnet/dotnet-docker/pull/1538","diff_url":"https://github.com/dotnet/dotnet-docker/pull/1538.diff","patch_url":"https://github.com/dotnet/dotnet-docker/pull/1538.patch","issue_url":"https://api.github.com/repos/dotnet/dotnet-docker/issues/1538","number":1538,"state":"open","locked":false,"title":"Update samples","user":{"login":"richlander","id":2608468,"node_id":"MDQ6VXNlcjI2MDg0Njg=","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},"body":"The following changes are included:\r\n\r\n- Update to .NET Core 3.1.\r\n- Simplify the examples as much as possible.\r\n- Made the ASP.NET Core sample more interesting/topical.\r\n- Add a new \"complex\" example.\r\n- Establish a better separation between the topics in the samples directory and the examples.\r\n- Potentially move some of the topics in the samples directory to docs.ms.com after review is complete.","created_at":"2019-12-20T01:54:42Z","updated_at":"2020-01-14T17:21:09Z","closed_at":null,"merged_at":null,"merge_commit_sha":"35b4015aaad70dcc16cd93e39103c4b745c326d7","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/dotnet/dotnet-docker/pulls/1538/commits","review_comments_url":"https://api.github.com/repos/dotnet/dotnet-docker/pulls/1538/comments","review_comment_url":"https://api.github.com/repos/dotnet/dotnet-docker/pulls/comments{/number}","comments_url":"https://api.github.com/repos/dotnet/dotnet-docker/issues/1538/comments","statuses_url":"https://api.github.com/repos/dotnet/dotnet-docker/statuses/2151c9c4ee70aacabe4245b0a73f7909930cf443","head":{"label":"dotnet:samples","ref":"samples","sha":"2151c9c4ee70aacabe4245b0a73f7909930cf443","user":{"login":"dotnet","id":9141961,"node_id":"MDEyOk9yZ2FuaXphdGlvbjkxNDE5NjE=","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":46298331,"node_id":"MDEwOlJlcG9zaXRvcnk0NjI5ODMzMQ==","name":"dotnet-docker","full_name":"dotnet/dotnet-docker","private":false,"owner":{"login":"dotnet","id":9141961,"node_id":"MDEyOk9yZ2FuaXphdGlvbjkxNDE5NjE=","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},"html_url":"https://github.com/dotnet/dotnet-docker","description":"Docker images for .NET Core and the .NET Core Tools.","fork":false,"url":"https://api.github.com/repos/dotnet/dotnet-docker","forks_url":"https://api.github.com/repos/dotnet/dotnet-docker/forks","keys_url":"https://api.github.com/repos/dotnet/dotnet-docker/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dotnet/dotnet-docker/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dotnet/dotnet-docker/teams","hooks_url":"https://api.github.com/repos/dotnet/dotnet-docker/hooks","issue_events_url":"https://api.github.com/repos/dotnet/dotnet-docker/issues/events{/number}","events_url":"https://api.github.com/repos/dotnet/dotnet-docker/events","assignees_url":"https://api.github.com/repos/dotnet/dotnet-docker/assignees{/user}","branches_url":"https://api.github.com/repos/dotnet/dotnet-docker/branches{/branch}","tags_url":"https://api.github.com/repos/dotnet/dotnet-docker/tags","blobs_url":"https://api.github.com/repos/dotnet/dotnet-docker/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dotnet/dotnet-docker/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dotnet/dotnet-docker/git/refs{/sha}","trees_url":"https://api.github.com/repos/dotnet/dotnet-docker/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dotnet/dotnet-docker/statuses/{sha}","languages_url":"https://api.github.com/repos/dotnet/dotnet-docker/languages","stargazers_url":"https://api.github.com/repos/dotnet/dotnet-docker/stargazers","contributors_url":"https://api.github.com/repos/dotnet/dotnet-docker/contributors","subscribers_url":"https://api.github.com/repos/dotnet/dotnet-docker/subscribers","subscription_url":"https://api.github.com/repos/dotnet/dotnet-docker/subscription","commits_url":"https://api.github.com/repos/dotnet/dotnet-docker/commits{/sha}","git_commits_url":"https://api.github.com/repos/dotnet/dotnet-docker/git/commits{/sha}","comments_url":"https://api.github.com/repos/dotnet/dotnet-docker/comments{/number}","issue_comment_url":"https://api.github.com/repos/dotnet/dotnet-docker/issues/comments{/number}","contents_url":"https://api.github.com/repos/dotnet/dotnet-docker/contents/{+path}","compare_url":"https://api.github.com/repos/dotnet/dotnet-docker/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dotnet/dotnet-docker/merges","archive_url":"https://api.github.com/repos/dotnet/dotnet-docker/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dotnet/dotnet-docker/downloads","issues_url":"https://api.github.com/repos/dotnet/dotnet-docker/issues{/number}","pulls_url":"https://api.github.com/repos/dotnet/dotnet-docker/pulls{/number}","milestones_url":"https://api.github.com/repos/dotnet/dotnet-docker/milestones{/number}","notifications_url":"https://api.github.com/repos/dotnet/dotnet-docker/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dotnet/dotnet-docker/labels{/name}","releases_url":"https://api.github.com/repos/dotnet/dotnet-docker/releases{/id}","deployments_url":"https://api.github.com/repos/dotnet/dotnet-docker/deployments","created_at":"2015-11-16T19:51:06Z","updated_at":"2020-01-14T16:55:07Z","pushed_at":"2020-01-14T17:11:07Z","git_url":"git://github.com/dotnet/dotnet-docker.git","ssh_url":"git@github.com:dotnet/dotnet-docker.git","clone_url":"https://github.com/dotnet/dotnet-docker.git","svn_url":"https://github.com/dotnet/dotnet-docker","homepage":"https://hub.docker.com/_/microsoft-dotnet-core","size":5663,"stargazers_count":2064,"watchers_count":2064,"language":"Dockerfile","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":859,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":40,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":859,"open_issues":40,"watchers":2064,"default_branch":"master"}},"base":{"label":"dotnet:master","ref":"master","sha":"800f7abd19e230bb215dc63c4983a4c77a1d9e0a","user":{"login":"dotnet","id":9141961,"node_id":"MDEyOk9yZ2FuaXphdGlvbjkxNDE5NjE=","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":46298331,"node_id":"MDEwOlJlcG9zaXRvcnk0NjI5ODMzMQ==","name":"dotnet-docker","full_name":"dotnet/dotnet-docker","private":false,"owner":{"login":"dotnet","id":9141961,"node_id":"MDEyOk9yZ2FuaXphdGlvbjkxNDE5NjE=","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},"html_url":"https://github.com/dotnet/dotnet-docker","description":"Docker images for .NET Core and the .NET Core Tools.","fork":false,"url":"https://api.github.com/repos/dotnet/dotnet-docker","forks_url":"https://api.github.com/repos/dotnet/dotnet-docker/forks","keys_url":"https://api.github.com/repos/dotnet/dotnet-docker/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dotnet/dotnet-docker/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dotnet/dotnet-docker/teams","hooks_url":"https://api.github.com/repos/dotnet/dotnet-docker/hooks","issue_events_url":"https://api.github.com/repos/dotnet/dotnet-docker/issues/events{/number}","events_url":"https://api.github.com/repos/dotnet/dotnet-docker/events","assignees_url":"https://api.github.com/repos/dotnet/dotnet-docker/assignees{/user}","branches_url":"https://api.github.com/repos/dotnet/dotnet-docker/branches{/branch}","tags_url":"https://api.github.com/repos/dotnet/dotnet-docker/tags","blobs_url":"https://api.github.com/repos/dotnet/dotnet-docker/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dotnet/dotnet-docker/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dotnet/dotnet-docker/git/refs{/sha}","trees_url":"https://api.github.com/repos/dotnet/dotnet-docker/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dotnet/dotnet-docker/statuses/{sha}","languages_url":"https://api.github.com/repos/dotnet/dotnet-docker/languages","stargazers_url":"https://api.github.com/repos/dotnet/dotnet-docker/stargazers","contributors_url":"https://api.github.com/repos/dotnet/dotnet-docker/contributors","subscribers_url":"https://api.github.com/repos/dotnet/dotnet-docker/subscribers","subscription_url":"https://api.github.com/repos/dotnet/dotnet-docker/subscription","commits_url":"https://api.github.com/repos/dotnet/dotnet-docker/commits{/sha}","git_commits_url":"https://api.github.com/repos/dotnet/dotnet-docker/git/commits{/sha}","comments_url":"https://api.github.com/repos/dotnet/dotnet-docker/comments{/number}","issue_comment_url":"https://api.github.com/repos/dotnet/dotnet-docker/issues/comments{/number}","contents_url":"https://api.github.com/repos/dotnet/dotnet-docker/contents/{+path}","compare_url":"https://api.github.com/repos/dotnet/dotnet-docker/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dotnet/dotnet-docker/merges","archive_url":"https://api.github.com/repos/dotnet/dotnet-docker/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dotnet/dotnet-docker/downloads","issues_url":"https://api.github.com/repos/dotnet/dotnet-docker/issues{/number}","pulls_url":"https://api.github.com/repos/dotnet/dotnet-docker/pulls{/number}","milestones_url":"https://api.github.com/repos/dotnet/dotnet-docker/milestones{/number}","notifications_url":"https://api.github.com/repos/dotnet/dotnet-docker/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dotnet/dotnet-docker/labels{/name}","releases_url":"https://api.github.com/repos/dotnet/dotnet-docker/releases{/id}","deployments_url":"https://api.github.com/repos/dotnet/dotnet-docker/deployments","created_at":"2015-11-16T19:51:06Z","updated_at":"2020-01-14T16:55:07Z","pushed_at":"2020-01-14T17:11:07Z","git_url":"git://github.com/dotnet/dotnet-docker.git","ssh_url":"git@github.com:dotnet/dotnet-docker.git","clone_url":"https://github.com/dotnet/dotnet-docker.git","svn_url":"https://github.com/dotnet/dotnet-docker","homepage":"https://hub.docker.com/_/microsoft-dotnet-core","size":5663,"stargazers_count":2064,"watchers_count":2064,"language":"Dockerfile","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":859,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":40,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":859,"open_issues":40,"watchers":2064,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/dotnet/dotnet-docker/pulls/1538"},"html":{"href":"https://github.com/dotnet/dotnet-docker/pull/1538"},"issue":{"href":"https://api.github.com/repos/dotnet/dotnet-docker/issues/1538"},"comments":{"href":"https://api.github.com/repos/dotnet/dotnet-docker/issues/1538/comments"},"review_comments":{"href":"https://api.github.com/repos/dotnet/dotnet-docker/pulls/1538/comments"},"review_comment":{"href":"https://api.github.com/repos/dotnet/dotnet-docker/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/dotnet/dotnet-docker/pulls/1538/commits"},"statuses":{"href":"https://api.github.com/repos/dotnet/dotnet-docker/statuses/2151c9c4ee70aacabe4245b0a73f7909930cf443"}},"author_association":"MEMBER"}}
other: {"actor":{"display_login":"MichaelSimons"}}