payload: {"action":"opened","number":2,"pull_request":{"url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/pulls/2","id":340120732,"node_id":"MDExOlB1bGxSZXF1ZXN0MzQwMTIwNzMy","html_url":"https://github.com/nul800sebastiaan/github-actions-for-packages/pull/2","diff_url":"https://github.com/nul800sebastiaan/github-actions-for-packages/pull/2.diff","patch_url":"https://github.com/nul800sebastiaan/github-actions-for-packages/pull/2.patch","issue_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/issues/2","number":2,"state":"open","locked":false,"title":"Docker Workflow","user":{"login":"github-learning-lab[bot]","id":37936606,"node_id":"MDM6Qm90Mzc5MzY2MDY=","avatar_url":"https://avatars0.githubusercontent.com/in/10572?v=4","gravatar_id":"","url":"https://api.github.com/users/github-learning-lab%5Bbot%5D","html_url":"https://github.com/apps/github-learning-lab","followers_url":"https://api.github.com/users/github-learning-lab%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-learning-lab%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-learning-lab%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-learning-lab%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-learning-lab%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-learning-lab%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-learning-lab%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-learning-lab%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-learning-lab%5Bbot%5D/received_events","type":"Bot","site_admin":false},"body":"# Docker 🐳\n\n### What is Docker?\n\nDocker is an engine that allows you to run containers. Containers have many advantages, including:\n\n- Code and dependancies are packaged together, so software runs more reliably in different environments\n- Containers are a standard unit of software\n- As standalone executable packages, containers include everything needed to run the application\n- Containers are lightweight in comparison to virtual machines\n\n---\n\n#### Docker vs Virtual Machines\n\n![visualization comparing containers to virtual machines](https://i.imgur.com/WnAsfyI.png)\n\n| Container                                                       | Virtual Machine                                                                          |\n| --------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |\n| Application layer abstraction                                   | Physical layer abstraction                                                               |\n| Consume less space than VMs                                     | Include a full copy of the operating system                                              |\n| Fast to startup                                                 | Boot up slowly                                                                           |\n| Shared OS kernel allows many containers to run on a single host | Multiple virtual machines run on one server at a greater resource cost per guest machine |\n\n#### Dockerfiles, Images, and Container\n\nBefore moving forward with the workflow file, let's spend some time on these concepts. There are important differences between *Dockerfiles*, *Images*, and *Containers*.\n\n| Dockerfile                                                                                      | Docker Image                                                                                                                                                         | Docker Container                                                                                     |\n| ----------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |\n| Text document that contains all the commands and instructions necessary to build a Docker Image. | Executable packages comprised of code, dependancies, libraries, a runtime, environment variable, and configuration files.  Very similar to a virtual machine snapshot. | A runtime instance of a Docker Image.  This is what the image becomes when executed in memory. |\n\n---\n\n#### What about our workflow?\n\nOur repository contains a `Dockerfile`, source code, and tests for the Tic Tac Toe application.\n\nOur CI Workflow allows us to make code changes. Those changes will trigger an automated build and automated test. But, the automation does not create a deployable artifact.\n\nWe will place our application into a Docker container. Then, we will have a **deployable package**.  A deployable package enables CD.\n\nBecause a `Dockerfile` is a text file, we are able to version it as source code. This **configuration as code** allowing us a single point of truth for our application.\n\nAs you learned above, we need turn that `Dockerfile` into a `Docker Image` if we want to create a runtime instance. We are going to store that image in the `GitHub Package Registry`.\n\n---\n\n📖[Read More](https://www.docker.com/why-docker) about Docker.","created_at":"2019-11-12T21:26:38Z","updated_at":"2019-11-12T21:26:38Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/pulls/2/commits","review_comments_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/pulls/2/comments","review_comment_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/pulls/comments{/number}","comments_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/issues/2/comments","statuses_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/statuses/ee39d13d177867fb6b247cb8e6c0c37f0442bab2","head":{"label":"nul800sebastiaan:docker-workflow","ref":"docker-workflow","sha":"ee39d13d177867fb6b247cb8e6c0c37f0442bab2","user":{"login":"nul800sebastiaan","id":304656,"node_id":"MDQ6VXNlcjMwNDY1Ng==","avatar_url":"https://avatars3.githubusercontent.com/u/304656?v=4","gravatar_id":"","url":"https://api.github.com/users/nul800sebastiaan","html_url":"https://github.com/nul800sebastiaan","followers_url":"https://api.github.com/users/nul800sebastiaan/followers","following_url":"https://api.github.com/users/nul800sebastiaan/following{/other_user}","gists_url":"https://api.github.com/users/nul800sebastiaan/gists{/gist_id}","starred_url":"https://api.github.com/users/nul800sebastiaan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nul800sebastiaan/subscriptions","organizations_url":"https://api.github.com/users/nul800sebastiaan/orgs","repos_url":"https://api.github.com/users/nul800sebastiaan/repos","events_url":"https://api.github.com/users/nul800sebastiaan/events{/privacy}","received_events_url":"https://api.github.com/users/nul800sebastiaan/received_events","type":"User","site_admin":false},"repo":{"id":221315236,"node_id":"MDEwOlJlcG9zaXRvcnkyMjEzMTUyMzY=","name":"github-actions-for-packages","full_name":"nul800sebastiaan/github-actions-for-packages","private":false,"owner":{"login":"nul800sebastiaan","id":304656,"node_id":"MDQ6VXNlcjMwNDY1Ng==","avatar_url":"https://avatars3.githubusercontent.com/u/304656?v=4","gravatar_id":"","url":"https://api.github.com/users/nul800sebastiaan","html_url":"https://github.com/nul800sebastiaan","followers_url":"https://api.github.com/users/nul800sebastiaan/followers","following_url":"https://api.github.com/users/nul800sebastiaan/following{/other_user}","gists_url":"https://api.github.com/users/nul800sebastiaan/gists{/gist_id}","starred_url":"https://api.github.com/users/nul800sebastiaan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nul800sebastiaan/subscriptions","organizations_url":"https://api.github.com/users/nul800sebastiaan/orgs","repos_url":"https://api.github.com/users/nul800sebastiaan/repos","events_url":"https://api.github.com/users/nul800sebastiaan/events{/privacy}","received_events_url":"https://api.github.com/users/nul800sebastiaan/received_events","type":"User","site_admin":false},"html_url":"https://github.com/nul800sebastiaan/github-actions-for-packages","description":null,"fork":false,"url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages","forks_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/forks","keys_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/keys{/key_id}","collaborators_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/teams","hooks_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/hooks","issue_events_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/issues/events{/number}","events_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/events","assignees_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/assignees{/user}","branches_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/branches{/branch}","tags_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/tags","blobs_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/git/refs{/sha}","trees_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/git/trees{/sha}","statuses_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/statuses/{sha}","languages_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/languages","stargazers_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/stargazers","contributors_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/contributors","subscribers_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/subscribers","subscription_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/subscription","commits_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/commits{/sha}","git_commits_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/git/commits{/sha}","comments_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/comments{/number}","issue_comment_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/issues/comments{/number}","contents_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/contents/{+path}","compare_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/compare/{base}...{head}","merges_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/merges","archive_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/downloads","issues_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/issues{/number}","pulls_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/pulls{/number}","milestones_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/milestones{/number}","notifications_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/labels{/name}","releases_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/releases{/id}","deployments_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/deployments","created_at":"2019-11-12T21:25:54Z","updated_at":"2019-11-12T21:26:37Z","pushed_at":"2019-11-12T21:26:37Z","git_url":"git://github.com/nul800sebastiaan/github-actions-for-packages.git","ssh_url":"git@github.com:nul800sebastiaan/github-actions-for-packages.git","clone_url":"https://github.com/nul800sebastiaan/github-actions-for-packages.git","svn_url":"https://github.com/nul800sebastiaan/github-actions-for-packages","homepage":"https://lab.github.com/githubtraining/github-actions:-publish-to-github-package-registry","size":0,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":1,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"base":{"label":"nul800sebastiaan:master","ref":"master","sha":"32c82e992e3c610dfbb0c003ceb8a83d63cfe044","user":{"login":"nul800sebastiaan","id":304656,"node_id":"MDQ6VXNlcjMwNDY1Ng==","avatar_url":"https://avatars3.githubusercontent.com/u/304656?v=4","gravatar_id":"","url":"https://api.github.com/users/nul800sebastiaan","html_url":"https://github.com/nul800sebastiaan","followers_url":"https://api.github.com/users/nul800sebastiaan/followers","following_url":"https://api.github.com/users/nul800sebastiaan/following{/other_user}","gists_url":"https://api.github.com/users/nul800sebastiaan/gists{/gist_id}","starred_url":"https://api.github.com/users/nul800sebastiaan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nul800sebastiaan/subscriptions","organizations_url":"https://api.github.com/users/nul800sebastiaan/orgs","repos_url":"https://api.github.com/users/nul800sebastiaan/repos","events_url":"https://api.github.com/users/nul800sebastiaan/events{/privacy}","received_events_url":"https://api.github.com/users/nul800sebastiaan/received_events","type":"User","site_admin":false},"repo":{"id":221315236,"node_id":"MDEwOlJlcG9zaXRvcnkyMjEzMTUyMzY=","name":"github-actions-for-packages","full_name":"nul800sebastiaan/github-actions-for-packages","private":false,"owner":{"login":"nul800sebastiaan","id":304656,"node_id":"MDQ6VXNlcjMwNDY1Ng==","avatar_url":"https://avatars3.githubusercontent.com/u/304656?v=4","gravatar_id":"","url":"https://api.github.com/users/nul800sebastiaan","html_url":"https://github.com/nul800sebastiaan","followers_url":"https://api.github.com/users/nul800sebastiaan/followers","following_url":"https://api.github.com/users/nul800sebastiaan/following{/other_user}","gists_url":"https://api.github.com/users/nul800sebastiaan/gists{/gist_id}","starred_url":"https://api.github.com/users/nul800sebastiaan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nul800sebastiaan/subscriptions","organizations_url":"https://api.github.com/users/nul800sebastiaan/orgs","repos_url":"https://api.github.com/users/nul800sebastiaan/repos","events_url":"https://api.github.com/users/nul800sebastiaan/events{/privacy}","received_events_url":"https://api.github.com/users/nul800sebastiaan/received_events","type":"User","site_admin":false},"html_url":"https://github.com/nul800sebastiaan/github-actions-for-packages","description":null,"fork":false,"url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages","forks_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/forks","keys_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/keys{/key_id}","collaborators_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/teams","hooks_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/hooks","issue_events_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/issues/events{/number}","events_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/events","assignees_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/assignees{/user}","branches_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/branches{/branch}","tags_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/tags","blobs_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/git/refs{/sha}","trees_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/git/trees{/sha}","statuses_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/statuses/{sha}","languages_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/languages","stargazers_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/stargazers","contributors_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/contributors","subscribers_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/subscribers","subscription_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/subscription","commits_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/commits{/sha}","git_commits_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/git/commits{/sha}","comments_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/comments{/number}","issue_comment_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/issues/comments{/number}","contents_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/contents/{+path}","compare_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/compare/{base}...{head}","merges_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/merges","archive_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/downloads","issues_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/issues{/number}","pulls_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/pulls{/number}","milestones_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/milestones{/number}","notifications_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/labels{/name}","releases_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/releases{/id}","deployments_url":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/deployments","created_at":"2019-11-12T21:25:54Z","updated_at":"2019-11-12T21:26:37Z","pushed_at":"2019-11-12T21:26:37Z","git_url":"git://github.com/nul800sebastiaan/github-actions-for-packages.git","ssh_url":"git@github.com:nul800sebastiaan/github-actions-for-packages.git","clone_url":"https://github.com/nul800sebastiaan/github-actions-for-packages.git","svn_url":"https://github.com/nul800sebastiaan/github-actions-for-packages","homepage":"https://lab.github.com/githubtraining/github-actions:-publish-to-github-package-registry","size":0,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":1,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/pulls/2"},"html":{"href":"https://github.com/nul800sebastiaan/github-actions-for-packages/pull/2"},"issue":{"href":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/issues/2"},"comments":{"href":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/issues/2/comments"},"review_comments":{"href":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/pulls/2/comments"},"review_comment":{"href":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/pulls/2/commits"},"statuses":{"href":"https://api.github.com/repos/nul800sebastiaan/github-actions-for-packages/statuses/ee39d13d177867fb6b247cb8e6c0c37f0442bab2"}},"author_association":"CONTRIBUTOR","merged":false,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"maintainer_can_modify":false,"commits":1,"additions":0,"deletions":0,"changed_files":0}}
other: {"actor":{"display_login":"github-learning-lab"}}