{"id":34123476,"url":"https://github.com/aduermael/docker-tunnel","last_synced_at":"2025-12-14T22:43:52.602Z","repository":{"id":79395960,"uuid":"65948895","full_name":"aduermael/docker-tunnel","owner":"aduermael","description":"Connect your local Docker client to remote Docker engine through SSH tunnel.","archived":false,"fork":false,"pushed_at":"2017-04-28T21:52:47.000Z","size":6872,"stargazers_count":8,"open_issues_count":3,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-06-20T05:16:26.669Z","etag":null,"topics":["client","docker","remote-docker-engine","ssh","ssh-tunnel","tunnel"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aduermael.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-08-17T23:21:49.000Z","updated_at":"2020-11-07T12:12:10.000Z","dependencies_parsed_at":null,"dependency_job_id":"c893d87d-9c2c-4cd5-89ae-5f5be519504e","html_url":"https://github.com/aduermael/docker-tunnel","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/aduermael/docker-tunnel","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aduermael%2Fdocker-tunnel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aduermael%2Fdocker-tunnel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aduermael%2Fdocker-tunnel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aduermael%2Fdocker-tunnel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aduermael","download_url":"https://codeload.github.com/aduermael/docker-tunnel/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aduermael%2Fdocker-tunnel/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27738292,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-14T02:00:11.348Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["client","docker","remote-docker-engine","ssh","ssh-tunnel","tunnel"],"created_at":"2025-12-14T22:43:50.002Z","updated_at":"2025-12-14T22:43:52.594Z","avatar_url":"https://github.com/aduermael.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# docker-tunnel\n\nConnect to a remote Docker host using an SSH tunnel.\n\n![](https://goreportcard.com/badge/github.com/aduermael/docker-tunnel)\n\n### Requirements:\n\n- Make sure you can connect to your remote Docker host using SSH public key authentication\n- OpenSSH 6.7 minimum required at least on the server side.\n\n### How to install:\n\n- **docker-tunnel** can be installed directly on your host like this ([Go](https://golang.org/doc/install) has to be installed):\n\n\t```bash\n\t$ go install github.com/aduermael/docker-tunnel\n\t```\n- You can also get the Docker image:\n\t\n\t```bash\n\t$ docker pull aduermael/docker-tunnel\n\t```\n\n### Usage:\n\n**docker-tunnel** has a small command line interface:\n\n```bash\n# type this if you installed directly on your host:\n$ docker-tunnel\n# or this if using the Docker image:\n$ docker run --rm aduermael/docker-tunnel\n\n# in both cases, you'll see something like this:\nUsage:\n  docker-tunnel [user@]host [flags]\n\nFlags:\n  -p, --proxy          proxy mode (don't start shell session)\n  -s, --shell string   shell to open session (default \"bash\")\n  -i, --sshid string   path to private key\n\n```\n\n**docker-tunnel** can be used in 2 different modes:\n\n- **shell mode** (default): opens a shell session, bash by default but a different one can be requested using `-s` flag. From within this shell, all Docker commands are sent to the remote Docker host through an established SSH tunnel.\n\n- **proxy mode** (using `-p` flag): exposes a Docker remote API on port 2375, proxying all requests over SSH to the remote Docker host.\n\nIn both modes, the `-i` flag can be used to give the location of your ssh identity file (private key). \n\n### Examples\n\nRun container acting as a Docker remote API proxy to reach remote Docker host.\n\n```bash\n$ docker run --rm -v ~/.ssh/id_rsa:/ssh_id -p 127.0.0.1:2375:2375 \\\naduermael/docker-tunnel 138.88.888.888 -i /ssh_id -p\n\n# now in a different shell session you can do:\nexport DOCKER_HOST=tcp://127.0.0.1:2375\n# all docker commands will now target the remote side (through the proxy)\n```\n\nOpen a bash session to run containers on a remote Docker host, using files from your local environment:\n\n```bash\n$ docker-tunnel user@138.88.888.888\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faduermael%2Fdocker-tunnel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faduermael%2Fdocker-tunnel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faduermael%2Fdocker-tunnel/lists"}