{"action":"created","issue":{"url":"https://api.github.com/repos/docker/docker/issues/18373","labels_url":"https://api.github.com/repos/docker/docker/issues/18373/labels{/name}","comments_url":"https://api.github.com/repos/docker/docker/issues/18373/comments","events_url":"https://api.github.com/repos/docker/docker/issues/18373/events","html_url":"https://github.com/docker/docker/pull/18373","id":120027639,"number":18373,"title":"Add support for forwarding Docker client through SOCKS proxy","user":{"login":"nathanleclaire","id":1476820,"avatar_url":"https://avatars.githubusercontent.com/u/1476820?v=3","gravatar_id":"","url":"https://api.github.com/users/nathanleclaire","html_url":"https://github.com/nathanleclaire","followers_url":"https://api.github.com/users/nathanleclaire/followers","following_url":"https://api.github.com/users/nathanleclaire/following{/other_user}","gists_url":"https://api.github.com/users/nathanleclaire/gists{/gist_id}","starred_url":"https://api.github.com/users/nathanleclaire/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nathanleclaire/subscriptions","organizations_url":"https://api.github.com/users/nathanleclaire/orgs","repos_url":"https://api.github.com/users/nathanleclaire/repos","events_url":"https://api.github.com/users/nathanleclaire/events{/privacy}","received_events_url":"https://api.github.com/users/nathanleclaire/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/docker/docker/labels/status/2-code-review","name":"status/2-code-review","color":"fad8c7"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":8,"created_at":"2015-12-02T20:20:50Z","updated_at":"2015-12-02T22:59:09Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/docker/docker/pulls/18373","html_url":"https://github.com/docker/docker/pull/18373","diff_url":"https://github.com/docker/docker/pull/18373.diff","patch_url":"https://github.com/docker/docker/pull/18373.patch"},"body":"Closes https://github.com/docker/docker/issues/5989\r\n\r\nThis pull request adds support for using the Docker client to contact the API through a SOCKS proxy specified in the environment (`ALL_PROXY`).\r\n\r\nThe primary motivation for this PR is to support communication to remote Docker hosts in environments which are heavily locked down, e.g. users behind the Great Firewall or on corporate laptops with extremely aggressive VPN controls.\r\n\r\nTo try it out, you can set up a SOCKS 5 proxy using SSH to a given Docker Machine:\r\n\r\n```console\r\n$ docker-machine ssh default -N -D 5000\r\n```\r\n\r\nThis will create a listening proxy at `socks5://localhost:5000`.\r\n\r\nThen, in another terminal window, you can access without directly hitting the IP:\r\n\r\n```console\r\n$ eval $(docker-machine env default)\r\n$ unset DOCKER_HOST # Because we can\r\n$ export ALL_PROXY=socks5://localhost:5000\r\n$ ./bundles/1.10.0-dev/cross/darwin/amd64/docker-1.10.0-dev -H :2376 ps\r\nCONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                           NAMES\r\n05dc13dbb8d0        docker-dev:master   \"hack/dind bash\"         About an hour ago   Up About an hour                                                    mad_borg\r\ne63334225b06        nginx               \"nginx -g 'daemon off\"   17 hours ago        Up 17 hours         0.0.0.0:32769->80/tcp, 0.0.0.0:32768->443/tcp   gloomy_noether\r\n```\r\n\r\nSigned-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>"},"comment":{"url":"https://api.github.com/repos/docker/docker/issues/comments/161460741","html_url":"https://github.com/docker/docker/pull/18373#issuecomment-161460741","issue_url":"https://api.github.com/repos/docker/docker/issues/18373","id":161460741,"user":{"login":"nathanleclaire","id":1476820,"avatar_url":"https://avatars.githubusercontent.com/u/1476820?v=3","gravatar_id":"","url":"https://api.github.com/users/nathanleclaire","html_url":"https://github.com/nathanleclaire","followers_url":"https://api.github.com/users/nathanleclaire/followers","following_url":"https://api.github.com/users/nathanleclaire/following{/other_user}","gists_url":"https://api.github.com/users/nathanleclaire/gists{/gist_id}","starred_url":"https://api.github.com/users/nathanleclaire/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nathanleclaire/subscriptions","organizations_url":"https://api.github.com/users/nathanleclaire/orgs","repos_url":"https://api.github.com/users/nathanleclaire/repos","events_url":"https://api.github.com/users/nathanleclaire/events{/privacy}","received_events_url":"https://api.github.com/users/nathanleclaire/received_events","type":"User","site_admin":false},"created_at":"2015-12-02T22:59:08Z","updated_at":"2015-12-02T22:59:08Z","body":"NP"}}