{"action":"created","comment":{"url":"https://api.github.com/repos/docker/docker/pulls/comments/43585573","id":43585573,"diff_hunk":"@@ -0,0 +1,247 @@\n+<!--[metadata]>\n++++\n+title = \"Get started with multi-host networking\"\n+description = \"Use overlay for multi-host networking\"\n+keywords = [\"Examples, Usage, network, docker, documentation, user guide, multihost, cluster\"]\n+[menu.main]\n+parent = \"smn_networking\"\n+weight=-3\n++++\n+<![end-metadata]-->     \n+\n+# Get started with multi-host networking\n+\n+This article uses an example to explain the basics of creating a mult-host\n+network. Docker Engine supports this out-of-the-box through the `overlay`\n+network.  Unlike `bridge` networks overlay networks require some pre-existing\n+conditions before you can create one. These conditions are:\n+\n+* Access to a key-value store. Engine supports Consul, Etcd, Zookeeper (Distributed store), and BoltDB (Local store) key-value stores.\n+* A cluster of hosts with connectivity to the key-value store.\n+* A properly configured Engine `daemon` on each host in the cluster.\n+\n+You'll use Docker Machine to create both the the key-value store server and the host cluster. This example creates a Swarm cluster.\n+\n+## Prerequisites\n+\n+Before you begin, make sure you have a system on your network with the latest version of Docker Engine and Docker Machine installed. The example also relies on VirtualBox. If you installed on a Mac or Windows with Docker Toolbox, you have all of these installed already.\n+\n+If you have not already done so, make sure you upgrade Docker Engine and Docker Machine to the latests versions.\n+\n+\n+## Step 1: Set up a key-value store\n+\n+An overlay network requires a key-value store. The key-value store information about the network state which includes discovery, networks, endpoints, ip-addresses, and more. Engine supports Consul, Etcd, and Zookeeper (Distributed store) key-value stores. This example uses Consul.\n+\n+1. Log into a system prepared with the prerequisite Docker Engine, Docker Machine, and VirtualBox software.\n+\n+2. Provision a VirtualBox machine called `mh-keystore`.  \n+\n+\t\t\t\t$ docker-machine create -d VirtualBox mh-keystore\n+\n+\t\tWhen you provision a new machine, the process adds Docker Engine to the\n+\t\thost. This means rather than installing Consul manually, you can create an\n+\t\tinstance using the [consul image from Docker\n+\t\tHub](https://hub.docker.com/r/progrium/consul/). You'll do this in the next step.\n+\n+3. Start a `progrium/consul` container running on the `mh-keystore` machine.\n+\n+\t\t\tdocker $(docker-machine config mh-keystore) run -d \\\n+\t\t\t\t-p \"8500:8500\" \\\n+\t\t\t\t-h \"consul\" \\\n+\t\t\t\tprogrium/consul -server -bootstrap\n+\n+\t You passed the `docker run` command the connection configuration using a bash\n+\t expansion `$(docker-machine config mh-keystore)`.  The client started a\n+\t `progrium/consul` image running in the `mh-keystore` machine. The server is called `consul`and is listening port `8500`.\n+\n+4. Set your local environment to the `mh-keystore` machine.\n+\n+\t\t\t$  eval \"$(docker-machine env mh-keystore)\"\n+\n+5. Run the `docker ps` command to see the `consul` container.\n+\n+\t\t\t$ docker ps\n+\t\t\tCONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                                                            NAMES\n+\t\t\t4d51392253b3        progrium/consul     \"/bin/start -server -\"   25 minutes ago      Up 25 minutes       53/tcp, 53/udp, 8300-8302/tcp, 0.0.0.0:8500->8500/tcp, 8400/tcp, 8301-8302/udp   admiring_panini\n+\n+Keep your terminal open and move onto the next step.\n+\n+\n+## Step 2: Create a Swarm cluster\n+\n+In this step, you use `docker-machine` to provision the hosts for your network. At this point, you won't actually created the network. You'll create several virtual hosts in VirtualBox. One of the host will act as th Swarm master, you'll create that first. As you create each host, you'll pass the Engine on that host options which are needed to create the `overlay` network.\n+\n+1. Create a swarm master.\n+\n+\t\t\tdocker-machine create \\\n+\t\t\t-d VirtualBox \\\n+\t\t\t--swarm --swarm-image=\"swarm\" --swarm-master \\\n+\t\t\t--swarm-discovery=\"consul://$(docker-machine ip mh-keystore):8500\" \\\n+\t\t\t--engine-opt=\"cluster-store=consul://$(docker-machine ip mh-keystore):8500\"\n+\t\t\t--engine-opt=\"cluster-advertise=eth1:2376\" \\\n+\t\t\tmhs-demo0\n+\n+\tAt creation time, you supply the Engine `daemon` with the ` --cluster-store` option. This option tells the Engine the location of the key-value store for the `overlay` network. The bash expansion `$(docker-machine ip mh-keystore)` resolves to the IP address of the Consul server you created in \"STEP 1\". The `--cluster-advertise` option\n+\n+2. Create another host and add it to the Swarm cluster.\n+\n+\t\tdocker-machine create -d VirtualBox \\\n+\t\t\t--swarm --swarm-image=\"swarm:1.0.0-rc2\" \\\n+\t\t\t--swarm-discovery=\"consul://$(docker-machine ip mh-keystore):8500\" \\\n+\t\t\t--engine-opt=\"cluster-store=consul://$(docker-machine ip mh-keystore):8500\" \\\n+\t\t\t--engine-opt=\"cluster-advertise=eth1:2376\" \\\n+\t\t  mhs-demo1\n+\n+3. List your machines to confirm they are all up and running.\n+\n+\t\t$ docker-machine ls\n+\t\tNAME         ACTIVE   DRIVER       STATE     URL                         SWARM\n+\t\tdefault               VirtualBox   Running   tcp://192.168.99.100:2376   \n+\t\tmh-keystore            VirtualBox   Running   tcp://192.168.99.103:2376   \n+\t\tmhs-demo0             VirtualBox   Running   tcp://192.168.99.104:2376   mhs-demo0 (master)\n+\t\tmhs-demo1             VirtualBox   Running   tcp://192.168.99.105:2376   mhs-demo0\n+\n+At this point you have a set of hosts running on your network. You are ready to create a multi-host network for containers using these hosts.\n+\n+\n+Leave your terminal open and go onto the next step.\n+\n+## Step 3: Create the overlay Network\n+\n+To create an overlay network\n+\n+1. Set your docker environment to the Swarm master.\n+\n+\t\t\t$ eval $(docker-machine --swarm env mhs-demo0)\n+\n+\t\tUsing the `--swarm` flag with `docker-machine` restricts the `docker` commands to Swarm information alone.\n+\n+2. Use the `docker info` command to view the Swarm.\n+\n+\t\t\t$ docker info\n+\t\t\tContainers: 3\n+\t\t\tImages: 2\n+\t\t\tRole: primary\n+\t\t\tStrategy: spread\n+\t\t\tFilters: affinity, health, constraint, port, dependency\n+\t\t\tNodes: 2\n+\t\t\tmhs-demo0: 192.168.99.104:2376\n+\t\t\t└ Containers: 2\n+\t\t\t└ Reserved CPUs: 0 / 1\n+\t\t\t└ Reserved Memory: 0 B / 1.021 GiB\n+\t\t\t└ Labels: executiondriver=native-0.2, kernelversion=4.1.10-boot2docker, operatingsystem=Boot2Docker 1.9.0-rc1 (TCL 6.4); master : 4187d2c - Wed Oct 14 14:00:28 UTC 2015, provider=VirtualBox, storagedriver=aufs\n+\t\t\tmhs-demo1: 192.168.99.105:2376\n+\t\t\t└ Containers: 1\n+\t\t\t└ Reserved CPUs: 0 / 1\n+\t\t\t└ Reserved Memory: 0 B / 1.021 GiB\n+\t\t\t└ Labels: executiondriver=native-0.2, kernelversion=4.1.10-boot2docker, operatingsystem=Boot2Docker 1.9.0-rc1 (TCL 6.4); master : 4187d2c - Wed Oct 14 14:00:28 UTC 2015, provider=VirtualBox, storagedriver=aufs\n+\t\t\tCPUs: 2\n+\t\t\tTotal Memory: 2.043 GiB\n+\t\t\tName: 30438ece0915\n+\n+\tFrom this information, you can see that you are running three containers and 2 images on the Master.\n+\n+3. Create your `overlay` network.\n+\n+\t\t\t$ docker network create -d overlay my-net\n+\n+\t\tYou only need to create the network on a single host in the cluster. In this case, you used the Swarm master but you could easily have run it on any host in the cluster.\n+\n+4. Check that the network is running:\n+\n+\t\t\t$ docker network ls\n+\t\t\tNETWORK ID          NAME                DRIVER\n+\t\t\t412c2496d0eb        mhs-demo1/host      host                \n+\t\t\tdd51763e6dd2        mhs-demo0/bridge    bridge              \n+\t\t\t6b07d0be843f        my-net              overlay             \n+\t\t\tb4234109bd9b        mhs-demo0/none      null                \n+\t\t\t1aeead6dd890        mhs-demo0/host      host                \n+\t\t\td0bb78cbe7bd        mhs-demo1/bridge    bridge              \n+\t\t\t1c0eb8f69ebb        mhs-demo1/none      null     \n+\n+\tBecause you are in the Swarm master environment, you see all the networks on all Swarm agents. Notice that each `NETWORK ID` is unique.  The default networks on each engine and the single overlay network.  \n+\n+5. Switch to each Swarm agent in turn and list the network.\n+\n+\t\t\t$ eval $(docker-machine env mhs-demo0)\n+\n+\t\t\t$ docker network ls\n+\t\t\tNETWORK ID          NAME                DRIVER\n+\t\t\t6b07d0be843f        my-net              overlay             \n+\t\t\tdd51763e6dd2        bridge              bridge              \n+\t\t\tb4234109bd9b        none                null                \n+\t\t\t1aeead6dd890        host                host                \n+\n+\t\t\t$ eval $(docker-machine env mhs-demo1)\n+\n+\t\t\t$ docker network ls\n+\t\t\tNETWORK ID          NAME                DRIVER\n+\t\t\td0bb78cbe7bd        bridge              bridge              \n+\t\t\t1c0eb8f69ebb        none                null                \n+\t\t\t412c2496d0eb        host                host                \n+\t\t\t6b07d0be843f        my-net              overlay        \n+\n+  Both agents reports it has the `my-net `network with the `6b07d0be843f` id.  You have a multi-host container network running!\n+\n+##  Run an application on your Network\n+\n+Once your network is created, you can start a container on any of the hosts and it automatically is part of the network.\n+\n+1. Point your environment to your `mhs-demo0` instance.\n+\n+\t\t\t$ eval $(docker-machine env mhs-demo0)\n+\n+2. Start an Nginx server on `mhs-demo0`.\n+\n+\t\t$ docker run -itd --name=web --net=my-net --env=\"constraint:node==mhs-demo0\" nginx\n+\n+\tThis command starts a web server on the Swarm master.\n+\n+3. Point your Machin environment to `mhs-demo1`\n+\n+\t\t$ eval $(docker-machine env mhs-demo1)","path":"docs/userguide/networking/get-started-overlay.md","position":203,"original_position":203,"commit_id":"7d4751da3caa22984e10600378a3a216860a4ceb","original_commit_id":"7d4751da3caa22984e10600378a3a216860a4ceb","user":{"login":"thaJeztah","id":1804568,"avatar_url":"https://avatars.githubusercontent.com/u/1804568?v=3","gravatar_id":"","url":"https://api.github.com/users/thaJeztah","html_url":"https://github.com/thaJeztah","followers_url":"https://api.github.com/users/thaJeztah/followers","following_url":"https://api.github.com/users/thaJeztah/following{/other_user}","gists_url":"https://api.github.com/users/thaJeztah/gists{/gist_id}","starred_url":"https://api.github.com/users/thaJeztah/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thaJeztah/subscriptions","organizations_url":"https://api.github.com/users/thaJeztah/orgs","repos_url":"https://api.github.com/users/thaJeztah/repos","events_url":"https://api.github.com/users/thaJeztah/events{/privacy}","received_events_url":"https://api.github.com/users/thaJeztah/received_events","type":"User","site_admin":false},"body":"does this need a `--swarm` flag? (Don't know, here actually)","created_at":"2015-11-01T18:28:17Z","updated_at":"2015-11-01T18:28:17Z","html_url":"https://github.com/docker/docker/pull/17340#discussion_r43585573","pull_request_url":"https://api.github.com/repos/docker/docker/pulls/17340","_links":{"self":{"href":"https://api.github.com/repos/docker/docker/pulls/comments/43585573"},"html":{"href":"https://github.com/docker/docker/pull/17340#discussion_r43585573"},"pull_request":{"href":"https://api.github.com/repos/docker/docker/pulls/17340"}}},"pull_request":{"url":"https://api.github.com/repos/docker/docker/pulls/17340","id":48669896,"html_url":"https://github.com/docker/docker/pull/17340","diff_url":"https://github.com/docker/docker/pull/17340.diff","patch_url":"https://github.com/docker/docker/pull/17340.patch","issue_url":"https://api.github.com/repos/docker/docker/issues/17340","number":17340,"state":"open","locked":false,"title":"Network docs for release","user":{"login":"moxiegirl","id":1347209,"avatar_url":"https://avatars.githubusercontent.com/u/1347209?v=3","gravatar_id":"","url":"https://api.github.com/users/moxiegirl","html_url":"https://github.com/moxiegirl","followers_url":"https://api.github.com/users/moxiegirl/followers","following_url":"https://api.github.com/users/moxiegirl/following{/other_user}","gists_url":"https://api.github.com/users/moxiegirl/gists{/gist_id}","starred_url":"https://api.github.com/users/moxiegirl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/moxiegirl/subscriptions","organizations_url":"https://api.github.com/users/moxiegirl/orgs","repos_url":"https://api.github.com/users/moxiegirl/repos","events_url":"https://api.github.com/users/moxiegirl/events{/privacy}","received_events_url":"https://api.github.com/users/moxiegirl/received_events","type":"User","site_admin":false},"body":"Removing old networking.md\r\nUpdating dockernetworks.md with images\r\nAdding information on network plugins\r\nAdding blurb about links to docker networking\r\nUpdating the working documentation\r\nAdding Overlay Getting Started\r\nDownplaying links by removing refs/examples, adding refs/examples for network.\r\nUpdating getting started to reflect networks not links\r\n\r\nSigned-off-by: Mary Anthony <mary@docker.com>","created_at":"2015-10-25T02:04:08Z","updated_at":"2015-11-01T18:28:17Z","closed_at":null,"merged_at":null,"merge_commit_sha":"0c07de5f8999bf744d1fa7d03c50234fde742576","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/docker/docker/pulls/17340/commits","review_comments_url":"https://api.github.com/repos/docker/docker/pulls/17340/comments","review_comment_url":"https://api.github.com/repos/docker/docker/pulls/comments{/number}","comments_url":"https://api.github.com/repos/docker/docker/issues/17340/comments","statuses_url":"https://api.github.com/repos/docker/docker/statuses/7d4751da3caa22984e10600378a3a216860a4ceb","head":{"label":"moxiegirl:new-networking-docs","ref":"new-networking-docs","sha":"7d4751da3caa22984e10600378a3a216860a4ceb","user":{"login":"moxiegirl","id":1347209,"avatar_url":"https://avatars.githubusercontent.com/u/1347209?v=3","gravatar_id":"","url":"https://api.github.com/users/moxiegirl","html_url":"https://github.com/moxiegirl","followers_url":"https://api.github.com/users/moxiegirl/followers","following_url":"https://api.github.com/users/moxiegirl/following{/other_user}","gists_url":"https://api.github.com/users/moxiegirl/gists{/gist_id}","starred_url":"https://api.github.com/users/moxiegirl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/moxiegirl/subscriptions","organizations_url":"https://api.github.com/users/moxiegirl/orgs","repos_url":"https://api.github.com/users/moxiegirl/repos","events_url":"https://api.github.com/users/moxiegirl/events{/privacy}","received_events_url":"https://api.github.com/users/moxiegirl/received_events","type":"User","site_admin":false},"repo":{"id":38079763,"name":"docker","full_name":"moxiegirl/docker","owner":{"login":"moxiegirl","id":1347209,"avatar_url":"https://avatars.githubusercontent.com/u/1347209?v=3","gravatar_id":"","url":"https://api.github.com/users/moxiegirl","html_url":"https://github.com/moxiegirl","followers_url":"https://api.github.com/users/moxiegirl/followers","following_url":"https://api.github.com/users/moxiegirl/following{/other_user}","gists_url":"https://api.github.com/users/moxiegirl/gists{/gist_id}","starred_url":"https://api.github.com/users/moxiegirl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/moxiegirl/subscriptions","organizations_url":"https://api.github.com/users/moxiegirl/orgs","repos_url":"https://api.github.com/users/moxiegirl/repos","events_url":"https://api.github.com/users/moxiegirl/events{/privacy}","received_events_url":"https://api.github.com/users/moxiegirl/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/moxiegirl/docker","description":"Docker - the open-source application container engine","fork":true,"url":"https://api.github.com/repos/moxiegirl/docker","forks_url":"https://api.github.com/repos/moxiegirl/docker/forks","keys_url":"https://api.github.com/repos/moxiegirl/docker/keys{/key_id}","collaborators_url":"https://api.github.com/repos/moxiegirl/docker/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/moxiegirl/docker/teams","hooks_url":"https://api.github.com/repos/moxiegirl/docker/hooks","issue_events_url":"https://api.github.com/repos/moxiegirl/docker/issues/events{/number}","events_url":"https://api.github.com/repos/moxiegirl/docker/events","assignees_url":"https://api.github.com/repos/moxiegirl/docker/assignees{/user}","branches_url":"https://api.github.com/repos/moxiegirl/docker/branches{/branch}","tags_url":"https://api.github.com/repos/moxiegirl/docker/tags","blobs_url":"https://api.github.com/repos/moxiegirl/docker/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/moxiegirl/docker/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/moxiegirl/docker/git/refs{/sha}","trees_url":"https://api.github.com/repos/moxiegirl/docker/git/trees{/sha}","statuses_url":"https://api.github.com/repos/moxiegirl/docker/statuses/{sha}","languages_url":"https://api.github.com/repos/moxiegirl/docker/languages","stargazers_url":"https://api.github.com/repos/moxiegirl/docker/stargazers","contributors_url":"https://api.github.com/repos/moxiegirl/docker/contributors","subscribers_url":"https://api.github.com/repos/moxiegirl/docker/subscribers","subscription_url":"https://api.github.com/repos/moxiegirl/docker/subscription","commits_url":"https://api.github.com/repos/moxiegirl/docker/commits{/sha}","git_commits_url":"https://api.github.com/repos/moxiegirl/docker/git/commits{/sha}","comments_url":"https://api.github.com/repos/moxiegirl/docker/comments{/number}","issue_comment_url":"https://api.github.com/repos/moxiegirl/docker/issues/comments{/number}","contents_url":"https://api.github.com/repos/moxiegirl/docker/contents/{+path}","compare_url":"https://api.github.com/repos/moxiegirl/docker/compare/{base}...{head}","merges_url":"https://api.github.com/repos/moxiegirl/docker/merges","archive_url":"https://api.github.com/repos/moxiegirl/docker/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/moxiegirl/docker/downloads","issues_url":"https://api.github.com/repos/moxiegirl/docker/issues{/number}","pulls_url":"https://api.github.com/repos/moxiegirl/docker/pulls{/number}","milestones_url":"https://api.github.com/repos/moxiegirl/docker/milestones{/number}","notifications_url":"https://api.github.com/repos/moxiegirl/docker/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/moxiegirl/docker/labels{/name}","releases_url":"https://api.github.com/repos/moxiegirl/docker/releases{/id}","created_at":"2015-06-25T23:27:51Z","updated_at":"2015-06-25T23:27:58Z","pushed_at":"2015-11-01T16:22:34Z","git_url":"git://github.com/moxiegirl/docker.git","ssh_url":"git@github.com:moxiegirl/docker.git","clone_url":"https://github.com/moxiegirl/docker.git","svn_url":"https://github.com/moxiegirl/docker","homepage":"http://www.docker.com","size":73387,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":1,"forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"base":{"label":"docker:master","ref":"master","sha":"4468e1e74e225f38b251fbcfdce633b619ea2e7a","user":{"login":"docker","id":5429470,"avatar_url":"https://avatars.githubusercontent.com/u/5429470?v=3","gravatar_id":"","url":"https://api.github.com/users/docker","html_url":"https://github.com/docker","followers_url":"https://api.github.com/users/docker/followers","following_url":"https://api.github.com/users/docker/following{/other_user}","gists_url":"https://api.github.com/users/docker/gists{/gist_id}","starred_url":"https://api.github.com/users/docker/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/docker/subscriptions","organizations_url":"https://api.github.com/users/docker/orgs","repos_url":"https://api.github.com/users/docker/repos","events_url":"https://api.github.com/users/docker/events{/privacy}","received_events_url":"https://api.github.com/users/docker/received_events","type":"Organization","site_admin":false},"repo":{"id":7691631,"name":"docker","full_name":"docker/docker","owner":{"login":"docker","id":5429470,"avatar_url":"https://avatars.githubusercontent.com/u/5429470?v=3","gravatar_id":"","url":"https://api.github.com/users/docker","html_url":"https://github.com/docker","followers_url":"https://api.github.com/users/docker/followers","following_url":"https://api.github.com/users/docker/following{/other_user}","gists_url":"https://api.github.com/users/docker/gists{/gist_id}","starred_url":"https://api.github.com/users/docker/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/docker/subscriptions","organizations_url":"https://api.github.com/users/docker/orgs","repos_url":"https://api.github.com/users/docker/repos","events_url":"https://api.github.com/users/docker/events{/privacy}","received_events_url":"https://api.github.com/users/docker/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/docker/docker","description":"Docker - the open-source application container engine","fork":false,"url":"https://api.github.com/repos/docker/docker","forks_url":"https://api.github.com/repos/docker/docker/forks","keys_url":"https://api.github.com/repos/docker/docker/keys{/key_id}","collaborators_url":"https://api.github.com/repos/docker/docker/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/docker/docker/teams","hooks_url":"https://api.github.com/repos/docker/docker/hooks","issue_events_url":"https://api.github.com/repos/docker/docker/issues/events{/number}","events_url":"https://api.github.com/repos/docker/docker/events","assignees_url":"https://api.github.com/repos/docker/docker/assignees{/user}","branches_url":"https://api.github.com/repos/docker/docker/branches{/branch}","tags_url":"https://api.github.com/repos/docker/docker/tags","blobs_url":"https://api.github.com/repos/docker/docker/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/docker/docker/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/docker/docker/git/refs{/sha}","trees_url":"https://api.github.com/repos/docker/docker/git/trees{/sha}","statuses_url":"https://api.github.com/repos/docker/docker/statuses/{sha}","languages_url":"https://api.github.com/repos/docker/docker/languages","stargazers_url":"https://api.github.com/repos/docker/docker/stargazers","contributors_url":"https://api.github.com/repos/docker/docker/contributors","subscribers_url":"https://api.github.com/repos/docker/docker/subscribers","subscription_url":"https://api.github.com/repos/docker/docker/subscription","commits_url":"https://api.github.com/repos/docker/docker/commits{/sha}","git_commits_url":"https://api.github.com/repos/docker/docker/git/commits{/sha}","comments_url":"https://api.github.com/repos/docker/docker/comments{/number}","issue_comment_url":"https://api.github.com/repos/docker/docker/issues/comments{/number}","contents_url":"https://api.github.com/repos/docker/docker/contents/{+path}","compare_url":"https://api.github.com/repos/docker/docker/compare/{base}...{head}","merges_url":"https://api.github.com/repos/docker/docker/merges","archive_url":"https://api.github.com/repos/docker/docker/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/docker/docker/downloads","issues_url":"https://api.github.com/repos/docker/docker/issues{/number}","pulls_url":"https://api.github.com/repos/docker/docker/pulls{/number}","milestones_url":"https://api.github.com/repos/docker/docker/milestones{/number}","notifications_url":"https://api.github.com/repos/docker/docker/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/docker/docker/labels{/name}","releases_url":"https://api.github.com/repos/docker/docker/releases{/id}","created_at":"2013-01-18T18:10:57Z","updated_at":"2015-11-01T18:01:31Z","pushed_at":"2015-11-01T17:55:27Z","git_url":"git://github.com/docker/docker.git","ssh_url":"git@github.com:docker/docker.git","clone_url":"https://github.com/docker/docker.git","svn_url":"https://github.com/docker/docker","homepage":"http://www.docker.com","size":279176,"stargazers_count":25831,"watchers_count":25831,"language":"Go","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":6889,"mirror_url":null,"open_issues_count":1189,"forks":6889,"open_issues":1189,"watchers":25831,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/docker/docker/pulls/17340"},"html":{"href":"https://github.com/docker/docker/pull/17340"},"issue":{"href":"https://api.github.com/repos/docker/docker/issues/17340"},"comments":{"href":"https://api.github.com/repos/docker/docker/issues/17340/comments"},"review_comments":{"href":"https://api.github.com/repos/docker/docker/pulls/17340/comments"},"review_comment":{"href":"https://api.github.com/repos/docker/docker/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/docker/docker/pulls/17340/commits"},"statuses":{"href":"https://api.github.com/repos/docker/docker/statuses/7d4751da3caa22984e10600378a3a216860a4ceb"}}}}